aboutsummaryrefslogtreecommitdiff
path: root/nscd/nscd.c
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2013-01-10 10:42:49 +0100
committerAndreas Schwab <schwab@suse.de>2013-01-10 10:44:04 +0100
commitee32fdd79a24f53f459fa94443065a31bf55764f (patch)
treec7564e7f9e87a2be6392faa878bdc047248df2eb /nscd/nscd.c
parent7490eb81ae6b3d9e2c9784fd845e0fc2d5484292 (diff)
downloadglibc-ee32fdd79a24f53f459fa94443065a31bf55764f.zip
glibc-ee32fdd79a24f53f459fa94443065a31bf55764f.tar.gz
glibc-ee32fdd79a24f53f459fa94443065a31bf55764f.tar.bz2
Revert "nscd: don't fork twice"
This reverts commit 7e9b080575fd68c788c33623594ba5516fa7ceb0.
Diffstat (limited to 'nscd/nscd.c')
-rw-r--r--nscd/nscd.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/nscd/nscd.c b/nscd/nscd.c
index ffbc6f8..26cf3c2 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)