summaryrefslogtreecommitdiffstats
path: root/dbus
diff options
context:
space:
mode:
authorJoe Shaw <joeshaw@novell.com>2005-03-11 17:43:22 +0000
committerJoe Shaw <joeshaw@novell.com>2005-03-11 17:43:22 +0000
commit3c1d2d65654f92f24d3e5c9c5b88d76a10f72822 (patch)
tree45ff6c61b961cceea5c854eef8ca982d252c015e /dbus
parent59948748b24ca6f266b1eb957849e3d3127242bd (diff)
2005-03-11 Joe Shaw <joeshaw@novell.com>
* dbus/dbus-connection.c (dbus_connection_send_with_reply): Remove this unref; it doesn't match up evenly in some codepaths. (_dbus_connection_block_pending_call): Unref at every exitpoint; this evenly matches with the ref near the top of this function.
Diffstat (limited to 'dbus')
-rw-r--r--dbus/dbus-connection.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c
index db76ba22..a08aa366 100644
--- a/dbus/dbus-connection.c
+++ b/dbus/dbus-connection.c
@@ -2460,8 +2460,6 @@ dbus_connection_send_with_reply (DBusConnection *connection,
pending))
goto error;
- dbus_pending_call_unref (pending);
-
if (!_dbus_connection_send_unlocked_no_update (connection, message, NULL))
{
_dbus_connection_detach_pending_call_and_unlock (connection,
@@ -2606,6 +2604,7 @@ _dbus_connection_block_pending_call (DBusPendingCall *pending)
{
_dbus_verbose ("Pending call completed by dispatch in %s\n", _DBUS_FUNCTION_NAME);
_dbus_connection_update_dispatch_status_and_unlock (connection, status);
+ dbus_pending_call_unref (pending);
return;
}
@@ -2626,6 +2625,7 @@ _dbus_connection_block_pending_call (DBusPendingCall *pending)
CONNECTION_LOCK (connection);
status = _dbus_connection_get_dispatch_status_unlocked (connection);
_dbus_connection_update_dispatch_status_and_unlock (connection, status);
+ dbus_pending_call_unref (pending);
return;
}
@@ -2641,6 +2641,7 @@ _dbus_connection_block_pending_call (DBusPendingCall *pending)
*/
_dbus_pending_call_complete_and_unlock (pending, NULL);
+ dbus_pending_call_unref (pending);
return;
}
else if (tv_sec < start_tv_sec)
@@ -2694,6 +2695,7 @@ _dbus_connection_block_pending_call (DBusPendingCall *pending)
CONNECTION_LOCK (connection);
status = _dbus_connection_get_dispatch_status_unlocked (connection);
_dbus_connection_update_dispatch_status_and_unlock (connection, status);
+ dbus_pending_call_unref (pending);
}
/**