    }
    return self;
  }
-@@ -202,9 +205,32 @@
+@@ -202,9 +214,32 @@
    [self->adaptors    release];
    [self->requestLock release];
    [self->lock        release];

-    exit(0);
-    /* shouldn't get here */
-    abort();
+- (void) _runChildWithControlSocket: (NGActiveSocket *) controlSocket
+{
+  WOApplication *app;
+  extern char **environ;
 
-  case SIGSEGV:
-    /* Coredump ! */

+                    type: ET_RDESC
+                 forMode: NSDefaultRunLoopMode
+                     all: YES];
+  [controlSocket close];
+  ASSIGN (controlSocket, newSocket);
+  if (controlSocket)
+    [runLoop addEvent: (void *) [controlSocket fileDescriptor]
