NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/51606 CVS commit: src/sys/kern



The following reply was made to PR standards/51606; it has been noted by GNATS.

From: "Robert Elz" <kre%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/51606 CVS commit: src/sys/kern
Date: Wed, 9 Nov 2016 00:30:17 +0000

 Module Name:	src
 Committed By:	kre
 Date:		Wed Nov  9 00:30:17 UTC 2016
 
 Modified Files:
 	src/sys/kern: kern_exit.c
 
 Log Message:
 PR kern/51600 ; PR standards/51606
 
 Revert 1.264 - that was intended to fix 51600, but didn't, it just
 hid the problem, and caused 51606.  This fixes 51606.
 
 Handle waiting on a process that has been detatched from its parent
 because of being ptrace'd by some other process.  This fixes 51600.
 ("handle" here means that the wait() hangs, or with WNOHANG, returns 0,
 we cannot actually wait on a process that is not currently an attached
 child.)
 
 Note: the detatched process waiting is not yet perfect (it fails to
 take account of options like WALLSIG and WALTSIG) - suport for those
 (that is, ignoring a detatched child that one of those options will
 later cause to be ignored when the process is re-attached.)
 
 For now, for ither than when waiting for a specific process ID, when
 a process does a wait() sys call (any of them), has no applicable
 children attached that can be returned, and has at least one detatched
 child, then we do a linear search of all processes to look for a
 suitable detatched child.  This is likely to be slow - but very rare.
 Eventually it might be better to keep a list of detatched children
 per process.
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.264 -r1.265 src/sys/kern/kern_exit.c
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 


Home | Main Index | Thread Index | Old Index