X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dbus%2Fdbus-spawn-win.c;h=8ac837ed5aa1591fc045971ba4d97a12663e128d;hb=5df8c3db12590edd68e968975a335da9d0415e5a;hp=df0737226722d58fdbefb2442b6d6bf5fb375544;hpb=e421626d86b4d1d037a0ce99c9f9efc51b69414f;p=platform%2Fupstream%2Fdbus.git diff --git a/dbus/dbus-spawn-win.c b/dbus/dbus-spawn-win.c index df07372..8ac837e 100644 --- a/dbus/dbus-spawn-win.c +++ b/dbus/dbus-spawn-win.c @@ -81,8 +81,6 @@ struct DBusBabysitter DBusWatchList *watches; DBusWatch *sitter_watch; - DBusBabysitterFinishedFunc finished_cb; - void *finished_data; dbus_bool_t have_spawn_errno; int spawn_errno; @@ -156,27 +154,6 @@ _dbus_babysitter_ref (DBusBabysitter *sitter) return sitter; } -static void -close_socket_to_babysitter (DBusBabysitter *sitter) -{ - _dbus_verbose ("Closing babysitter\n"); - - if (sitter->sitter_watch != NULL) - { - _dbus_assert (sitter->watches != NULL); - _dbus_watch_list_remove_watch (sitter->watches, sitter->sitter_watch); - _dbus_watch_invalidate (sitter->sitter_watch); - _dbus_watch_unref (sitter->sitter_watch); - sitter->sitter_watch = NULL; - } - - if (sitter->socket_to_babysitter != -1) - { - _dbus_close_socket (sitter->socket_to_babysitter, NULL); - sitter->socket_to_babysitter = -1; - } -} - /** * Decrement the reference count on the babysitter object. * @@ -195,7 +172,11 @@ _dbus_babysitter_unref (DBusBabysitter *sitter) if (sitter->refcount == 0) { - close_socket_to_babysitter (sitter); + if (sitter->socket_to_babysitter != -1) + { + _dbus_close_socket (sitter->socket_to_babysitter, NULL); + sitter->socket_to_babysitter = -1; + } if (sitter->socket_to_main != -1) { @@ -391,15 +372,9 @@ handle_watch (DBusWatch *watch, */ PING(); - close_socket_to_babysitter (sitter); + _dbus_close_socket (sitter->socket_to_babysitter, NULL); PING(); - - if (_dbus_babysitter_get_child_exited (sitter) && - sitter->finished_cb != NULL) - { - sitter->finished_cb (sitter, sitter->finished_data); - sitter->finished_cb = NULL; - } + sitter->socket_to_babysitter = -1; return TRUE; } @@ -693,12 +668,6 @@ _dbus_spawn_async_with_babysitter (DBusBabysitter **sitter_p, PING(); if (!_dbus_watch_list_add_watch (sitter->watches, sitter->sitter_watch)) { - /* we need to free it early so the destructor won't try to remove it - * without it having been added, which DBusLoop doesn't allow */ - _dbus_watch_invalidate (sitter->sitter_watch); - _dbus_watch_unref (sitter->sitter_watch); - sitter->sitter_watch = NULL; - _DBUS_SET_OOM (error); goto out0; } @@ -744,15 +713,6 @@ out0: return FALSE; } -void -_dbus_babysitter_set_result_function (DBusBabysitter *sitter, - DBusBabysitterFinishedFunc finished, - void *user_data) -{ - sitter->finished_cb = finished; - sitter->finished_data = user_data; -} - #ifdef DBUS_BUILD_TESTS #define LIVE_CHILDREN(sitter) ((sitter)->child_handle != NULL)