summaryrefslogtreecommitdiffstats
path: root/bus/driver.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2003-04-11 03:05:58 +0000
committerHavoc Pennington <hp@redhat.com>2003-04-11 03:05:58 +0000
commiteb63ba5039c8afe61210cf2b217ec75b4a86356e (patch)
treec8e10a3d1c552f9fb46fea088a5b5f5b930db941 /bus/driver.c
parent6be547d32f018c23ba56426a0bccd08baa2cf440 (diff)
2003-04-10 Havoc Pennington <hp@pobox.com>
* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all the possible parent failures before we fork, so that we don't fail to create a babysitter after creating the child. * bus/activation.c (bus_activation_activate_service): kill child if we don't successfully complete the activation.
Diffstat (limited to 'bus/driver.c')
-rw-r--r--bus/driver.c27
1 files changed, 23 insertions, 4 deletions
diff --git a/bus/driver.c b/bus/driver.c
index 33017e9f..f89b70a3 100644
--- a/bus/driver.c
+++ b/bus/driver.c
@@ -584,13 +584,21 @@ bus_driver_handle_activate_service (DBusConnection *connection,
DBUS_TYPE_STRING, &name,
DBUS_TYPE_UINT32, &flags,
0))
- return FALSE;
+ {
+ _DBUS_ASSERT_ERROR_IS_SET (error);
+ _dbus_verbose ("No memory to get arguments to ActivateService\n");
+ return FALSE;
+ }
retval = FALSE;
if (!bus_activation_activate_service (activation, connection, transaction,
message, name, error))
- goto out;
+ {
+ _DBUS_ASSERT_ERROR_IS_SET (error);
+ _dbus_verbose ("bus_activation_activate_service() failed\n");
+ goto out;
+ }
retval = TRUE;
@@ -650,15 +658,26 @@ bus_driver_handle_message (DBusConnection *connection,
{
if (strcmp (message_handlers[i].name, name) == 0)
{
+ _dbus_verbose ("Running driver handler for %s\n", name);
if ((* message_handlers[i].handler) (connection, transaction, message, error))
- return TRUE;
+ {
+ _DBUS_ASSERT_ERROR_IS_CLEAR (error);
+ _dbus_verbose ("Driver handler succeeded\n");
+ return TRUE;
+ }
else
- return FALSE;
+ {
+ _DBUS_ASSERT_ERROR_IS_SET (error);
+ _dbus_verbose ("Driver handler returned failure\n");
+ return FALSE;
+ }
}
++i;
}
+ _dbus_verbose ("No driver handler for %s\n", name);
+
dbus_set_error (error, DBUS_ERROR_UNKNOWN_MESSAGE,
"%s does not understand message %s",
DBUS_SERVICE_DBUS, name);