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 | |
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
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | bus/driver.c | 4 | ||||
-rw-r--r-- | bus/driver.h | 2 | ||||
-rw-r--r-- | dbus/dbus-connection.c | 13 |
4 files changed, 24 insertions, 2 deletions
@@ -1,3 +1,10 @@ +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 + 2003-01-21 Havoc Pennington <hp@pobox.com> (patch untested because can't compile) diff --git a/bus/driver.c b/bus/driver.c index eda09af4..41c98c96 100644 --- a/bus/driver.c +++ b/bus/driver.c @@ -1,5 +1,5 @@ /* -*- mode: C; c-file-style: "gnu" -*- */ -/* bus.c Bus client (driver) +/* driver.c Bus client (driver) * * Copyright (C) 2003 CodeFactory AB * @@ -225,6 +225,8 @@ bus_driver_add_connection (DBusConnection *connection) return FALSE; } + /* FIXME we are leaking the DBusMessageHandler */ + _dbus_verbose ("D-Bus driver on board...\n"); return TRUE; diff --git a/bus/driver.h b/bus/driver.h index 3667aac8..ea5638c3 100644 --- a/bus/driver.h +++ b/bus/driver.h @@ -1,5 +1,5 @@ /* -*- mode: C; c-file-style: "gnu" -*- */ -/* bus.h Bus client (driver) +/* driver.h Bus client (driver) * * Copyright (C) 2003 CodeFactory AB * 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 |