From 03b9ca6d4ecf2577958530b8390d675c73a58825 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Sat, 5 Apr 2003 00:37:17 +0000 Subject: 2003-04-04 Havoc Pennington * dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to return a "babysitter" object that is used to monitor the status of the spawned process and reap it when required. * test/test-segfault.c, test/test-exit.c, test/test-sleep-forever.c: binaries that do various lame things, used in the test suite. * dbus/dbus-sysdeps.c: kill _dbus_errno_to_string() --- dbus/dbus-spawn.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'dbus/dbus-spawn.h') diff --git a/dbus/dbus-spawn.h b/dbus/dbus-spawn.h index 04348d75..9cf108a7 100644 --- a/dbus/dbus-spawn.h +++ b/dbus/dbus-spawn.h @@ -27,9 +27,37 @@ #include #include +#include DBUS_BEGIN_DECLS; +typedef void (* DBusSpawnChildSetupFunc) (void *user_data); + +typedef struct DBusBabysitter DBusBabysitter; + +dbus_bool_t _dbus_spawn_async_with_babysitter (DBusBabysitter **sitter_p, + char **argv, + DBusSpawnChildSetupFunc child_setup, + void *user_data, + DBusError *error); +void _dbus_babysitter_ref (DBusBabysitter *sitter); +void _dbus_babysitter_unref (DBusBabysitter *sitter); +void _dbus_babysitter_kill_child (DBusBabysitter *sitter); +dbus_bool_t _dbus_babysitter_get_child_exited (DBusBabysitter *sitter); +void _dbus_babysitter_set_child_exit_error (DBusBabysitter *sitter, + DBusError *error); +dbus_bool_t _dbus_babysitter_set_watch_functions (DBusBabysitter *sitter, + DBusAddWatchFunction add_function, + DBusRemoveWatchFunction remove_function, + DBusWatchToggledFunction toggled_function, + void *data, + DBusFreeFunction free_data_function); +dbus_bool_t _dbus_babysitter_handle_watch (DBusBabysitter *sitter, + DBusWatch *watch, + unsigned int condition); + + + DBUS_END_DECLS; #endif /* DBUS_SPAWN_H */ -- cgit