freebsd-skq/bin
Konstantin Belousov d735998057 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 Close the newly-created FD if the pathname is too long. 2014-01-11 15:01:30 +00:00
chflags Expand the use of stat(2) flags to allow storing some Windows/DOS 2013-08-21 23:04:48 +00:00
chio use .Mt to mark up email addresses consistently (part1) 2014-06-20 09:40:43 +00:00
chmod Update sticky(7) cross references. 2011-05-13 16:29:57 +00:00
cp Add a few examples. 2013-03-15 20:12:54 +00:00
csh Replace all uses of libncurses and libtermcap with their wide character 2014-07-17 18:24:34 +00:00
date Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
dd Incorporate feedback from bde and jilles regarding r265472 to dd(1). 2014-05-08 19:10:04 +00:00
df -h and -H options backwards in manual page. 2014-01-16 17:06:02 +00:00
domainname Point users towards nisdomainname and rc.conf. 2013-04-22 17:55:12 +00:00
echo echo(1): Clarify portability and mention literal "--" handling. 2010-11-12 22:43:40 +00:00
ed When building picobsd, define WITHOUT_OPENSSL and WITHOUT_KERBEROS and 2014-06-06 04:09:07 +00:00
expr Add the Clang specific -Wmissing-variable-declarations to WARNS=6. 2013-04-19 19:45:00 +00:00
freebsd-version use .Mt to mark up email addresses consistently (part1) 2014-06-20 09:40:43 +00:00
getfacl Fix warnings found by -Wmising-variable-declarations. 2012-10-19 05:43:38 +00:00
hostname Mark usage() __dead2 2013-04-28 22:52:43 +00:00
kenv Constify parameters, no functional or binary change. 2013-05-15 18:38:28 +00:00
kill sh: Allow kill %job on jobs started without job control. 2014-03-15 14:58:48 +00:00
ln Add 'static' where able. 2013-06-02 17:55:00 +00:00
ls Replace all uses of libncurses and libtermcap with their wide character 2014-07-17 18:24:34 +00:00
mkdir Add missing static qualifiers 2013-04-27 21:59:43 +00:00
mv Check if fchflags() is needed by fstat'ing before and check 2014-07-01 22:46:39 +00:00
pax Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
pkill use .Mt to mark up email addresses consistently (part1) 2014-06-20 09:40:43 +00:00
ps Correct the problems with the ptrace(2) making the debuggee an orphan. 2014-08-07 05:47:53 +00:00
pwait Use a different way to silence clang analyzer as done in r245494 by 2013-01-16 18:15:25 +00:00
pwd
rcp Fix warnings found by -Wmising-variable-declarations. 2012-10-19 05:43:38 +00:00
realpath Make `realpath'' behave like `realpath .''. 2011-06-21 19:34:57 +00:00
rm rm -rf can fail sometimes with an error from fts_read. Make it honor 2014-07-07 23:21:20 +00:00
rmail In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE. 2014-06-08 17:29:31 +00:00
rmdir Add a few examples. 2013-03-15 20:12:54 +00:00
setfacl use .Mt to mark up email addresses consistently (part1) 2014-06-20 09:40:43 +00:00
sh sh: Allow arbitrarily large numbers in break and continue. 2014-07-20 20:29:09 +00:00
sleep sleep: Explain in a comment why the [EINTR] check is there. 2013-06-05 20:15:18 +00:00
stty stty: Mark usage() __dead2. 2012-07-15 21:12:22 +00:00
sync
test Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
tests Migrate tools/regression/bin/ tests to the new layout. 2013-12-11 04:09:17 +00:00
uuidgen Mention the upper hard limit for -n option. Patch slightly modified 2012-05-23 16:19:19 +00:00
Makefile Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
Makefile.inc Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00