1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-23 11:18:54 +00:00
freebsd/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
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
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
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
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 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
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
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