Skip site navigation (1)Skip section navigation (2)
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>