diff options
-rw-r--r-- | nscd/nscd.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/nscd/nscd.c b/nscd/nscd.c index ffbc6f8bc9..26cf3c2692 100644 --- a/nscd/nscd.c +++ b/nscd/nscd.c @@ -252,6 +252,15 @@ main (int argc, char **argv) for (i = min_close_fd; i < getdtablesize (); i++) close (i); + if (run_mode == RUN_DAEMONIZE) + { + pid = fork (); + if (pid == -1) + error (EXIT_FAILURE, errno, _("cannot fork")); + if (pid != 0) + exit (0); + } + setsid (); if (chdir ("/") != 0) |