only fork one to assist in stop-start-daemon assumptions about daemon behavior

http://bugs.gentoo.org/190785

diff -durN glibc-2.13.orig/nscd/nscd.c glibc-2.13/nscd/nscd.c
--- glibc-2.13.orig/nscd/nscd.c	2009-02-06 21:10:27.000000000 +0100
+++ glibc-2.13/nscd/nscd.c	2009-11-13 00:50:24.000000000 +0100
@@ -182,6 +182,9 @@
       if (pid != 0)
 	exit (0);
 
+       if (write_pid (_PATH_NSCDPID) < 0)
+	dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno));
+
       int nullfd = open (_PATH_DEVNULL, O_RDWR);
       if (nullfd != -1)
 	{
@@ -231,12 +234,6 @@
 	for (i = min_close_fd; i < getdtablesize (); i++)
 	  close (i);
 
-      pid = fork ();
-      if (pid == -1)
-	error (EXIT_FAILURE, errno, _("cannot fork"));
-      if (pid != 0)
-	exit (0);
-
       setsid ();
 
       if (chdir ("/") != 0)
@@ -245,9 +242,6 @@
 
       openlog ("nscd", LOG_CONS | LOG_ODELAY, LOG_DAEMON);
 
-      if (write_pid (_PATH_NSCDPID) < 0)
-	dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno));
-
       if (!init_logfile ())
 	dbg_log (_("Could not create log file"));
 
