Re: [PATCH v2 1/2] daemon: move daemonize() to libgit.a
Duy Nguyen pclo...@gmail.com writes: On Tue, Feb 11, 2014 at 1:46 AM, Junio C Hamano gits...@pobox.com wrote: Nguyễn Thái Ngọc Duy pclo...@gmail.com writes: 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? Facepalm. I remember I wrote this somewhere but don't remember what topic :( Should I resend? I've already amended it here. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2 1/2] daemon: move daemonize() to libgit.a
On Sat, Feb 8, 2014 at 8:08 AM, Nguyễn Thái Ngọc Duy pclo...@gmail.com wrote: Signed-off-by: Nguyễn Thái Ngọc Duy pclo...@gmail.com 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; + 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 +} Nice change. Just a nit: When I added the NO_POSIX_GOODIES-flag, Junio wanted the implementations to be separate. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2 1/2] daemon: move daemonize() to libgit.a
Nguyễn Thái Ngọc Duy pclo...@gmail.com writes: 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 +} -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2 1/2] daemon: move daemonize() to libgit.a
On Tue, Feb 11, 2014 at 1:46 AM, Junio C Hamano gits...@pobox.com wrote: Nguyễn Thái Ngọc Duy pclo...@gmail.com writes: 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? Facepalm. I remember I wrote this somewhere but don't remember what topic :( Should I resend? -- Duy -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html