 +
 +- (void) setLastSpawn: (NSCalendarDate *) newLastSpawn
 +{
-+  ASSIGN(lastSpawn, newLastSpawn);
++  ASSIGN (lastSpawn, newLastSpawn);
++  loggedNotRespawn = NO;
 +}
 +
 +- (NSCalendarDate *) lastSpawn

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

+  WOChildMessage message;
+
+  if (status == WOChildStatusDown) {
+    [self logWithFormat: @"child is already down"];
+  } else {
+    [self setControlSocket: nil];
+    [self _kill];
+  }
+}
+
+- (void) delayedTerminate
+{
