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

This commit is contained in:
tcatm 2011-03-21 12:11:05 +01:00
parent b7ebc662eb
commit 1c09a4adb2
1 changed files with 8 additions and 0 deletions

View File

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