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