summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-transport-debug.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2003-03-15 20:47:16 +0000
committerHavoc Pennington <hp@redhat.com>2003-03-15 20:47:16 +0000
commitf587ce7845edb0eb01451368d01b5bc86b5904cd (patch)
treef3a549cd61df701882d818b5fc452b1438097f5b /dbus/dbus-transport-debug.c
parentf05f87a825ab8ed5273674a7f65521ffc526f0d2 (diff)
2003-03-15 Havoc Pennington <hp@pobox.com>
Make it pass the Hello handling test including all OOM codepaths. Now to do other messages... * bus/services.c (bus_service_remove_owner): fix crash when removing owner from an empty list of owners (bus_registry_ensure): don't leave service in the list of a connection's owned services if we fail to put the service in the hash table. * bus/connection.c (bus_connection_preallocate_oom_error): set error flag on the OOM error. * dbus/dbus-connection.c (_dbus_connection_new_for_transport): handle _dbus_transport_set_connection failure * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify to create watches up front and simply enable/disable them as needed. (unix_connection_set): this can now fail on OOM * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept of enabling/disabling a watch or timeout. * bus/loop.c (bus_loop_iterate): don't touch disabled watches/timeouts * glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
Diffstat (limited to 'dbus/dbus-transport-debug.c')
-rw-r--r--dbus/dbus-transport-debug.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/dbus/dbus-transport-debug.c b/dbus/dbus-transport-debug.c
index 42d1efdc..a7db3a6e 100644
--- a/dbus/dbus-transport-debug.c
+++ b/dbus/dbus-transport-debug.c
@@ -147,10 +147,8 @@ check_timeout (DBusTransport *transport)
{
if (!debug_transport->timeout_added)
{
- /* FIXME; messages_pending is going to have to
- * handle OOM somehow (probably being part of
- * PreallocatedSend). See also dbus-transport-unix.c
- * check_write_watch()
+ /* FIXME this can be fixed now, by enabling/disabling
+ * the timeout instead of adding it here
*/
while (!_dbus_connection_add_timeout (transport->connection,
debug_transport->timeout))
@@ -203,10 +201,11 @@ debug_disconnect (DBusTransport *transport)
{
}
-static void
+static dbus_bool_t
debug_connection_set (DBusTransport *transport)
{
check_timeout (transport);
+ return TRUE;
}
static void