diff options
author | Havoc Pennington <hp@redhat.com> | 2003-04-11 03:05:58 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2003-04-11 03:05:58 +0000 |
commit | eb63ba5039c8afe61210cf2b217ec75b4a86356e (patch) | |
tree | c8e10a3d1c552f9fb46fea088a5b5f5b930db941 /bus/driver.c | |
parent | 6be547d32f018c23ba56426a0bccd08baa2cf440 (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.c | 27 |
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); |