svn commit: r287864 - head/sys/kern
John Baldwin
jhb at FreeBSD.org
Wed Sep 16 16:40:08 UTC 2015
Author: jhb
Date: Wed Sep 16 16:40:07 2015
New Revision: 287864
URL: https://svnweb.freebsd.org/changeset/base/287864
Log:
When a process group leader exits, all of the processes in the group are
sent SIGHUP and SIGCONT if any of the processes are stopped. Currently this
behavior is triggered for any type of process stop including ptrace() stops
and transient stops for single threading during exit() and execve().
Thus, if a debugger is attached to a process in a group when the leader
exits, the entire group can be HUPed. Instead, only send the signals if a
process in the group is stopped due to SIGSTOP.
PR: 201149
Reviewed by: kib
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D3681
Modified:
head/sys/kern/kern_proc.c
Modified: head/sys/kern/kern_proc.c
==============================================================================
--- head/sys/kern/kern_proc.c Wed Sep 16 16:11:45 2015 (r287863)
+++ head/sys/kern/kern_proc.c Wed Sep 16 16:40:07 2015 (r287864)
@@ -694,7 +694,7 @@ orphanpg(pg)
LIST_FOREACH(p, &pg->pg_members, p_pglist) {
PROC_LOCK(p);
- if (P_SHOULDSTOP(p)) {
+ if (P_SHOULDSTOP(p) == P_STOPPED_SIG) {
PROC_UNLOCK(p);
LIST_FOREACH(p, &pg->pg_members, p_pglist) {
PROC_LOCK(p);
More information about the svn-src-head
mailing list