From: Erik Faye-Lund Date: Mon, 10 Feb 2014 11:04:58 GMT Subject: Re: [PATCH v2 1/2] daemon: move daemonize() to libgit.a Message-ID: In-Reply-To: <1391843332-20583-1-git-send-email-pclouds@gmail.com> 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.