From: Chas Williams Date: Thu, 13 Oct 2005 22:01:49 +0000 (+0000) Subject: STABLE140-solaris10-afsd-waitpid-to-clean-contract-20051013 X-Git-Tag: openafs-stable-1_4_0-rc8~9 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=99ae7c0e12a6c3c2921874a4e9b1907e0d955bb2;p=packages%2Fo%2Fopenafs.git STABLE140-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 ebb1450ba..7c753a0eb 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 @@ -1747,6 +1748,9 @@ mainproc(as, 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);