Date: Mon, 2 Dec 2019 09:55:37 -0800 From: John Baldwin <jhb@FreeBSD.org> To: Mariusz Zaborski <oshogbo@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r355097 - in head: sys/kern tests/sys/kern Message-ID: <82757e82-e26c-f92f-66cf-a03f22cffe9b@FreeBSD.org> In-Reply-To: <201911251833.xAPIXM9h040583@repo.freebsd.org> References: <201911251833.xAPIXM9h040583@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11/25/19 10:33 AM, Mariusz Zaborski wrote: > Author: oshogbo > Date: Mon Nov 25 18:33:21 2019 > New Revision: 355097 > URL: https://svnweb.freebsd.org/changeset/base/355097 > > Log: > procdesc: allow to collect status through wait(1) if process is traced > > The debugger like truss(1) depends on the wait(2) syscall. This syscall > waits for ALL children. When it is waiting for ALL child's the children > created by process descriptors are not returned. This behavior was > introduced because we want to implement libraries which may pdfork(1). > > The behavior of process descriptor brakes truss(1) because it will > not be able to collect the status of processes with process descriptors. > > To address this problem the status is returned to parent when the > child is traced. While the process is traced the debugger is the new parent. > In case the original parent and debugger are the same process it means the > debugger explicitly used pdfork() to create the child. In that case the debugger > should be using kqueue()/pdwait() instead of wait(). > > Add test case to verify that. The test case was implemented by markj@. Does this fix PR 201276? Also, what about PRs 220324 and 232679? -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?82757e82-e26c-f92f-66cf-a03f22cffe9b>