diff options
Diffstat (limited to 'dbus')
-rw-r--r-- | dbus/dbus-errors.h | 1 | ||||
-rw-r--r-- | dbus/dbus-spawn.c | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/dbus/dbus-errors.h b/dbus/dbus-errors.h index 59fa1e49..8d8e16ec 100644 --- a/dbus/dbus-errors.h +++ b/dbus/dbus-errors.h @@ -73,6 +73,7 @@ struct DBusError #define DBUS_ERROR_INVALID_ARGS "org.freedesktop.DBus.Error.InvalidArgs" #define DBUS_ERROR_FILE_NOT_FOUND "org.freedesktop.DBus.Error.FileNotFound" #define DBUS_ERROR_UNKNOWN_MESSAGE "org.freedesktop.DBus.Error.UnknownMessage" +#define DBUS_ERROR_TIMED_OUT "org.freedesktop.DBus.Error.TimedOut" void dbus_error_init (DBusError *error); void dbus_error_free (DBusError *error); diff --git a/dbus/dbus-spawn.c b/dbus/dbus-spawn.c index 5ced84fc..5fa2d5e8 100644 --- a/dbus/dbus-spawn.c +++ b/dbus/dbus-spawn.c @@ -293,6 +293,8 @@ _dbus_babysitter_unref (DBusBabysitter *sitter) else _dbus_verbose ("Babysitter exited abnormally\n"); } + + sitter->sitter_pid = -1; } if (sitter->error_watch) @@ -699,6 +701,10 @@ _dbus_babysitter_handle_watch (DBusBabysitter *sitter, handle_error_pipe (sitter, revents); else if (fd == sitter->socket_to_babysitter) handle_babysitter_socket (sitter, revents); + + while (LIVE_CHILDREN (sitter) && + babysitter_iteration (sitter, FALSE)) + ; return TRUE; } |