kpropd uses fork instead of vfork, because it's closing file
authorTheodore Tso <tytso@mit.edu>
Tue, 18 Apr 1995 21:51:11 +0000 (21:51 +0000)
committerTheodore Tso <tytso@mit.edu>
Tue, 18 Apr 1995 21:51:11 +0000 (21:51 +0000)
commitca05cace316acdb0ea7677a6ddc83610697f2b24
tree40a451eb8760024fc2911f1f27e3121dc1c18a6a
parent8cb7facb419fdbe46ad337b8b62d359a7a87c6a4
kpropd uses fork instead of vfork, because it's closing file
descriptors in the child.

Print out the pid of the child process if debugging is enabled.

Use _exit() instead exit() after a fork(), so that child process
doesn't cause the stdio buffers don't get flushed twice.

When debugging is enabled and kpropd can't bind to the port, it should
try binding again after setting SO_REUSEADDR on the socket.  This
avoids problems when debugging modifications to kprop/kpropd or its
setup, when kpropd is run twice quickly in succession.

kpropd shouldn't signal(SIGCHLD, SIG_IGN) in the parent.  Instead, it
should wait() until the child exits.  This was causing problems
because setting SIGCHLD to SIG_IGN under SYSV causes child processes
to get reaped automatically, so the wait() for kdb5_edit was failing.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@5368 dc483132-0cff-0310-8789-dd5450dbe970
src/slave/ChangeLog
src/slave/kpropd.c