dbus/bus driver.c,1.73,1.74

John Palmieri johnp at freedesktop.org
Mon Nov 7 13:57:15 PST 2005


Update of /cvs/dbus/dbus/bus
In directory gabe:/tmp/cvs-serv30654/bus

Modified Files:
	driver.c 
Log Message:
* bus/driver.c (bus_driver_handle_reload_config): Make sure we send an 
  empty reply so blocking calls don't block forever (Patch from Sjoerd 
  Simons <sjoerd at luon.net>)

* AUTHORS: Add Robert McQueen for his work on the Python
  Bindings and other parts of D-Bus



Index: driver.c
===================================================================
RCS file: /cvs/dbus/dbus/bus/driver.c,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -d -r1.73 -r1.74
--- driver.c	3 Oct 2005 19:55:56 -0000	1.73
+++ driver.c	7 Nov 2005 21:57:13 -0000	1.74
@@ -1094,23 +1094,34 @@
 				 DBusError      *error)
 {
   BusContext *context;
-  dbus_bool_t retval;
+  DBusMessage *reply;
 
   _DBUS_ASSERT_ERROR_IS_CLEAR (error);
 
-  retval = FALSE;
-
+  reply = NULL;
+  
   context = bus_connection_get_context (connection);
   if (!bus_context_reload_config (context, error))
-    {
-      _DBUS_ASSERT_ERROR_IS_SET (error);
-      goto out;
-    }
+    goto failed;
 
-  retval = TRUE;
-  
- out:
-  return retval;
+  reply = dbus_message_new_method_return (message);
+  if (reply == NULL)
+    goto oom;
+
+  if (! bus_transaction_send_from_driver (transaction, connection, reply))
+    goto oom;
+
+  dbus_message_unref (reply);
+  return TRUE;
+
+ oom:
+  BUS_SET_OOM (error);
+
+ failed:
+  _DBUS_ASSERT_ERROR_IS_SET (error);
+  if (reply)
+    dbus_message_unref (reply);
+  return FALSE;
 }
 
 /* For speed it might be useful to sort this in order of



More information about the dbus-commit mailing list