diff options
| -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  | 
