Browse Source

daemon-mode: add sleep() loop to prevent defunct child process, call setsid() in child

miguelfreitas
tcatm 14 years ago
parent
commit
1c09a4adb2
  1. 8
      init.cpp

8
init.cpp

@ -236,6 +236,10 @@ bool AppInit2(int argc, char* argv[])
} }
if (pid > 0) if (pid > 0)
return true; return true;
pid_t sid = setsid();
if (sid < 0)
fprintf(stderr, "Error: setsid() returned %d errno %d\n", sid, errno);
} }
#endif #endif
@ -466,6 +470,10 @@ bool AppInit2(int argc, char* argv[])
if (fFirstRun) if (fFirstRun)
SetStartOnSystemStartup(true); SetStartOnSystemStartup(true);
#endif #endif
if (fDaemon)
while (!fShutdown)
Sleep(5000);
return true; return true;
} }

Loading…
Cancel
Save