freebsd-skq/bin
kib 0b059d23c7 Correct the problems with the ptrace(2) making the debuggee an orphan.
One problem is inferior(9) looping due to the process tree becoming a
graph instead of tree if the parent is traced by child. Another issue
is due to the use of p_oppid to restore the original parent/child
relationship, because real parent could already exited and its pid
reused (noted by mjg).

Add the function proc_realparent(9), which calculates the parent for
given process. It uses the flag P_TREE_FIRST_ORPHAN to detect the head
element of the p_orphan list and than stepping back to its container
to find the parent process. If the parent has already exited, the
init(8) is returned.

Move the P_ORPHAN and the new helper flag from the p_flag* to new
p_treeflag field of struct proc, which is protected by proctree lock
instead of proc lock, since the orphans relationship is managed under
the proctree_lock already.

The remaining uses of p_oppid in ptrace(PT_DETACH) and process
reapping are replaced by proc_realparent(9).

Phabric:	D417
Reviewed by:	jhb
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2014-08-07 05:47:53 +00:00
..
cat
chflags
chio
chmod
cp
csh Replace all uses of libncurses and libtermcap with their wide character 2014-07-17 18:24:34 +00:00
date
dd
df
domainname
echo
ed
expr
freebsd-version
getfacl
hostname
kenv
kill
ln
ls Replace all uses of libncurses and libtermcap with their wide character 2014-07-17 18:24:34 +00:00
mkdir
mv Check if fchflags() is needed by fstat'ing before and check 2014-07-01 22:46:39 +00:00
pax
pkill
ps Correct the problems with the ptrace(2) making the debuggee an orphan. 2014-08-07 05:47:53 +00:00
pwait
pwd
rcp
realpath
rm rm -rf can fail sometimes with an error from fts_read. Make it honor 2014-07-07 23:21:20 +00:00
rmail
rmdir
setfacl
sh sh: Allow arbitrarily large numbers in break and continue. 2014-07-20 20:29:09 +00:00
sleep
stty
sync
test
tests
uuidgen
Makefile
Makefile.inc