glibc/nscd
Siddhesh Poyarekar 532a60357e nscd: Improved support for tracking startup failure in nscd service (BZ #16639)
Currently, the nscd parent process parses commandline options and
configuration, forks on startup and immediately exits with a success.
If the child process encounters some error after this, it goes
undetected and any services started up after it may have to repeatedly
check to make sure that the nscd service did actually start up and is
serving requests.

To make this process more reliable, I have added a pipe between the
parent and child process, through which the child process sends a
notification to the parent informing it of its status.  The parent
waits for this status and once it receives it, exits with the
corresponding exit code.  So if the child service sends a success
status (0), the parent exits with a success status.  Similarly for
error conditions, the child sends the non-zero status code, which the
parent passes on as the exit code.

This, along with setting the nscd service type to forking in its
systemd configuration file, allows systemd to be certain that the nscd
service is ready and is accepting connections.
2014-03-03 23:18:31 +05:30
..
aicache.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
cache.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
connections.c nscd: Improved support for tracking startup failure in nscd service (BZ #16639) 2014-03-03 23:18:31 +05:30
dbg_log.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dbg_log.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Depend Update. 1998-11-19 11:23:37 +00:00
gai.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
getgrgid_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
getgrnam_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
gethstbyad_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
gethstbynm3_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
getpwnam_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
getpwuid_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
getsrvbynm_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
getsrvbypt_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
grpcache.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
hstcache.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
initgrcache.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
Makefile Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mem.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
netgroupcache.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
nscd_conf.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
nscd_getai.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
nscd_getgr_r.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
nscd_gethst_r.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
nscd_getpw_r.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
nscd_getserv_r.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
nscd_helper.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
nscd_initgroups.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
nscd_netgroup.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
nscd_proto.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
nscd_setup_thread.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
nscd_stat.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
nscd-client.h Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
nscd.c nscd: Improved support for tracking startup failure in nscd service (BZ #16639) 2014-03-03 23:18:31 +05:30
nscd.conf Implement caching of nscd 2011-10-07 10:06:31 -04:00
nscd.h nscd: Improved support for tracking startup failure in nscd service (BZ #16639) 2014-03-03 23:18:31 +05:30
nscd.init . 2007-07-31 13:33:18 +00:00
nscd.service Add systemd unit file for nscd 2013-12-16 11:22:01 +10:00
nscd.tmpfiles Add systemd unit file for nscd 2013-12-16 11:22:01 +10:00
pwdcache.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
res_hconf.c [BZ #4814] 2007-08-22 03:14:29 +00:00
selinux.c nscd: Improved support for tracking startup failure in nscd service (BZ #16639) 2014-03-03 23:18:31 +05:30
selinux.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
servicescache.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00