Revert all changes since a36d4918a6f646e085
[platform/upstream/dbus.git] / dbus / dbus-spawn-win.c
index df07372..8ac837e 100644 (file)
@@ -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)