diff options
author | Joe Shaw <joeshaw@novell.com> | 2005-03-11 17:43:22 +0000 |
---|---|---|
committer | Joe Shaw <joeshaw@novell.com> | 2005-03-11 17:43:22 +0000 |
commit | 3c1d2d65654f92f24d3e5c9c5b88d76a10f72822 (patch) | |
tree | 45ff6c61b961cceea5c854eef8ca982d252c015e /dbus | |
parent | 59948748b24ca6f266b1eb957849e3d3127242bd (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.c | 6 |
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); } /** |