Re: [PATCH v2 1/2] daemon: move daemonize() to libgit.a
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:59:53
Nguyễn Thái Ngọc Duy [off-list ref] writes:
quoted hunk
diff --git a/setup.c b/setup.c index 6c3f85f..b09a412 100644 --- a/setup.c +++ b/setup.c@@ -787,3 +787,27 @@ void sanitize_stdfds(void) if (fd > 2) close(fd); } + +int daemonize(void) +{ +#ifdef NO_POSIX_GOODIES + errno = -ENOSYS;
Negated?
+ return -1;
+#else
+ switch (fork()) {
+ case 0:
+ break;
+ case -1:
+ die_errno("fork failed");
+ default:
+ exit(0);
+ }
+ if (setsid() == -1)
+ die_errno("setsid failed");
+ close(0);
+ close(1);
+ close(2);
+ sanitize_stdfds();
+ return 0;
+#endif
+}