diff options
author | Alexey Neyman <stilor@att.net> | 2017-02-09 21:41:09 (GMT) |
---|---|---|
committer | Alexey Neyman <stilor@att.net> | 2017-02-10 02:05:36 (GMT) |
commit | 5273394f55d5ef3e2cbd9b4546f531c3b7a1ca5a (patch) | |
tree | e503212574214a995dd9f215258b3b3fa8fc89c5 /patches/glibc/ports-2.14.1/300-nscd-one-fork.patch | |
parent | b5dc6e6c26f49be2e9b9fad92df771991a15297f (diff) |
Ports patches for glibc 2.12.1 .. 2.16
Add patches for versions that didn't have them - patches updated/retired
as necessary.
Also, disallow 2.12.2 for architectures in ports - this version did not have
ports addon.
Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'patches/glibc/ports-2.14.1/300-nscd-one-fork.patch')
-rw-r--r-- | patches/glibc/ports-2.14.1/300-nscd-one-fork.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/patches/glibc/ports-2.14.1/300-nscd-one-fork.patch b/patches/glibc/ports-2.14.1/300-nscd-one-fork.patch new file mode 100644 index 0000000..adc9b3f --- /dev/null +++ b/patches/glibc/ports-2.14.1/300-nscd-one-fork.patch @@ -0,0 +1,40 @@ +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")); + |