From: Junio C Hamano Date: Mon, 10 Feb 2014 18:46:04 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> 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 > +}