summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2006-10-13 16:26:47 +0000
committerHavoc Pennington <hp@redhat.com>2006-10-13 16:26:47 +0000
commit2f2a3334de3e7a3ca1d4faa725f37ff6823c6a3b (patch)
tree16ae54799b3dee9c71a1b42fa90af3845f6fd5fe
parent6d34310b426ee61bfedea28b7060ba5f57e56dbd (diff)
2006-10-13 Havoc Pennington <hp@redhat.com>
* dbus/dbus-connection.c (dbus_connection_send_with_reply_and_block): fix to handle closed connections, from Tambet Ingo bug #8631
-rw-r--r--ChangeLog6
-rw-r--r--dbus/dbus-connection.c8
2 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 615be307..9dec4b82 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-10-13 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-connection.c
+ (dbus_connection_send_with_reply_and_block): fix to handle closed
+ connections, from Tambet Ingo bug #8631
+
2006-10-11 John (J5) Palmieri <johnp@redhat.com>
* configure.in: use AC_TRY_COMPILE for dirfd instead of AC_TRY_RUN
diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c
index a94e0b2e..7a38a0ab 100644
--- a/dbus/dbus-connection.c
+++ b/dbus/dbus-connection.c
@@ -2619,7 +2619,7 @@ reply_handler_timeout (void *data)
*
* @param connection the connection
* @param message the message to send
- * @param pending_return return location for a #DBusPendingCall object, or #NULLif connection is disconnected
+ * @param pending_return return location for a #DBusPendingCall object, or #NULL if connection is disconnected
* @param timeout_milliseconds timeout in milliseconds or -1 for default
* @returns #FALSE if no memory, #TRUE otherwise.
*
@@ -3089,7 +3089,11 @@ dbus_connection_send_with_reply_and_block (DBusConnection *connection,
return NULL;
}
- _dbus_assert (pending != NULL);
+ if (pending == NULL)
+ {
+ dbus_set_error (error, DBUS_ERROR_DISCONNECTED, "Connection is closed");
+ return NULL;
+ }
dbus_pending_call_block (pending);