Re: [PATCH v2 1/2] daemon: move daemonize() to libgit.a
Duy Nguyen writes: > On Tue, Feb 11, 2014 at 1:46 AM, Junio C Hamano wrote: >> Nguyễn Thái Ngọc Duy 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 Tue, Feb 11, 2014 at 1:46 AM, Junio C Hamano wrote: > Nguyễn Thái Ngọc Duy 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
Re: [PATCH v2 1/2] daemon: move daemonize() to libgit.a
Nguyễn Thái Ngọc Duy 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 Sat, Feb 8, 2014 at 8:08 AM, Nguyễn Thái Ngọc Duy wrote: > Signed-off-by: Nguyễn Thái Ngọc Duy > 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