[ptrace] please review follow fork/exec changes

Konstantin Belousov kostikbel at gmail.com
Mon Feb 13 15:28:33 UTC 2012


I looked at the orphan.patch.

Am I right that the orphans are the real childs of the process which
are temporarily reparented to the debugger ? Whatever they are, a comment
should be added to proc.h describing what does it mean.

Please provide me with a test case that demonstrates the issue
solved by the change.

The new LIST_FOREACH(&q->p_orphans) body is copy/pasted, together
with the comments, from the LIST_FOREACH(&q->p_children). Can the
common code be moved into some function ?

Shouldn't there be some assertion in proc_reparent() for the case when
we remove child from the orphans list, that the child is no longer
debugged ?

Why in proc_reparent(), in the case of P_TRACED child, you do
PROC_UNLOC/PROC_LOCK ?

It seems that now wait4(2) can be called from the real (non-debugger)
parent first and result in the call to proc_reap(), isn't it ? We would
then just reparent the child back to the caller, still leaving the
zombie and confusing debugger.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20120213/2120c76d/attachment.pgp


More information about the freebsd-current mailing list