From: Chas Williams Date: Thu, 13 Oct 2005 22:00:11 +0000 (+0000) Subject: STABLE14-solaris10-afsd-waitpid-to-clean-contract-20051013 X-Git-Tag: openafs-stable-1_4_1-rc1~38 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=d6e8113d791e97820fef05bc14dba26149bcd58e;p=packages%2Fo%2Fopenafs.git STABLE14-solaris10-afsd-waitpid-to-clean-contract-20051013 FIXES 22317 it seems like this might be a bug in solaris10 when handling contracts of exiting chilren who have created kernel threads. the rxlistener is a kernel thread on solaris and the child that starts the kernel_thread returns and exits. (cherry picked from commit ae7d5f250d96b7350ee369a74f71a89d646ddccc) --- diff --git a/src/afsd/afsd.c b/src/afsd/afsd.c index 623b18ca4..0ff7fa8fd 100644 --- a/src/afsd/afsd.c +++ b/src/afsd/afsd.c @@ -78,6 +78,7 @@ RCSID #include #include #include +#include #ifdef HAVE_SYS_PARAM_H @@ -1799,6 +1800,9 @@ mainproc(struct cmd_syndesc *as, char *arock) enable_process_stats); exit(1); } +#ifdef AFS_SUN510_ENV + waitpid((pid_t) -1, NULL, 0); +#endif #endif if (afsd_verbose) printf("%s: Forking rx callback listener.\n", rn);