Browse Source

NOHUP-ify the child process on OSX auto-update.

Adam Ierymenko 10 years ago
parent
commit
7e647c5303
1 changed files with 4 additions and 0 deletions
  1. 4 0
      service/OneService.cpp

+ 4 - 0
service/OneService.cpp

@@ -259,6 +259,10 @@ public:
 					fclose(bash);
 					fclose(bash);
 					long pid = (long)vfork();
 					long pid = (long)vfork();
 					if (pid == 0) {
 					if (pid == 0) {
+						setsid(); // detach from parent so that shell isn't killed when parent is killed
+						signal(SIGHUP,SIG_IGN);
+						signal(SIGTERM,SIG_IGN);
+						signal(SIGQUIT,SIG_IGN);
 						execl("/bin/bash","/bin/bash",bashp,(char *)0);
 						execl("/bin/bash","/bin/bash",bashp,(char *)0);
 						exit(0);
 						exit(0);
 					}
 					}