diff options
author | Havoc Pennington <hp@redhat.com> | 2003-01-22 04:48:47 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2003-01-22 04:48:47 +0000 |
commit | c414488fe62605ebda5e875fc2db05c6b3dd199f (patch) | |
tree | db0ba840e73b30d3b804216c5c3fc333d2dee821 /dbus | |
parent | d6d50a29945ded04a17b3f42a3a1074449250ec0 (diff) |
2003-01-22 Havoc Pennington <hp@pobox.com>
* dbus/dbus-connection.c
(dbus_connection_send_message_with_reply_and_block): add some @todo
* bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
Diffstat (limited to 'dbus')
-rw-r--r-- | dbus/dbus-connection.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c index 0cae7601..e8ff5b6a 100644 --- a/dbus/dbus-connection.c +++ b/dbus/dbus-connection.c @@ -717,6 +717,19 @@ dbus_connection_send_message_with_reply (DBusConnection *connection, * Sends a message and blocks a certain time period while waiting for a reply. * This function does not dispatch any message handlers until the main loop * has been reached. This function is used to do non-reentrant "method calls." + * If a reply is received, it is returned, and removed from the incoming + * message queue. If it is not received, #NULL is returned and the + * result is set to #DBUS_RESULT_NO_REPLY. If something else goes + * wrong, result is set to whatever is appropriate, such as + * #DBUS_RESULT_NO_MEMORY. + * + * @todo I believe if we get EINTR or otherwise interrupt the + * do_iteration call in here, we won't block the required length of + * time. I think there probably has to be a loop: "while (!timeout_elapsed) + * { check_for_reply_in_queue(); iterate_with_remaining_timeout(); }" + * + * @todo need to remove the reply from the message queue, or someone + * else might process it again later. * * @param connection the connection * @param message the message to send |