Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F109882497
D39585.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D39585.diff
View Options
diff --git a/lib/libc/sys/procctl.2 b/lib/libc/sys/procctl.2
--- a/lib/libc/sys/procctl.2
+++ b/lib/libc/sys/procctl.2
@@ -29,7 +29,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd September 2, 2021
+.Dd April 15, 2023
.Dt PROCCTL 2
.Os
.Sh NAME
@@ -302,7 +302,7 @@
The
.Fa pi_flags
field returns the following flags, further describing the descendant:
-.Bl -tag -width REAPER_PIDINFO_REAPER
+.Bl -tag -width REAPER_PIDINFO_EXITING
.It Dv REAPER_PIDINFO_VALID
Set to indicate that the
.Vt procctl_reaper_pidinfo
@@ -320,6 +320,12 @@
.It Dv REAPER_PIDINFO_REAPER
The reported process is itself a reaper.
The descendants of the subordinate reaper are not reported.
+.It Dv REAPER_PIDINFO_ZOMBIE
+The reported process is in the zombie state, ready to be reaped.
+.It Dv REAPER_PIDINFO_STOPPED
+The reported process is stopped by a SIGSTOP/SIGTSTP signal.
+.It Dv REAPER_PIDINFO_EXITING
+The reported process is in the process of exiting (but not yet a zombie).
.El
.It Dv PROC_REAP_KILL
Request to deliver a signal to some subset of the descendants of the reaper.
diff --git a/sys/kern/kern_procctl.c b/sys/kern/kern_procctl.c
--- a/sys/kern/kern_procctl.c
+++ b/sys/kern/kern_procctl.c
@@ -234,6 +234,12 @@
pip->pi_flags |= REAPER_PIDINFO_CHILD;
if ((p2->p_treeflag & P_TREE_REAPER) != 0)
pip->pi_flags |= REAPER_PIDINFO_REAPER;
+ if ((p2->p_flag & P_STOPPED) != 0)
+ pip->pi_flags |= REAPER_PIDINFO_STOPPED;
+ if (p2->p_state == PRS_ZOMBIE)
+ pip->pi_flags |= REAPER_PIDINFO_ZOMBIE;
+ else if ((p2->p_flag & P_WEXIT) != 0)
+ pip->pi_flags |= REAPER_PIDINFO_EXITING;
i++;
}
sx_sunlock(&proctree_lock);
diff --git a/sys/sys/procctl.h b/sys/sys/procctl.h
--- a/sys/sys/procctl.h
+++ b/sys/sys/procctl.h
@@ -102,6 +102,9 @@
#define REAPER_PIDINFO_VALID 0x00000001
#define REAPER_PIDINFO_CHILD 0x00000002
#define REAPER_PIDINFO_REAPER 0x00000004
+#define REAPER_PIDINFO_ZOMBIE 0x00000008
+#define REAPER_PIDINFO_STOPPED 0x00000010
+#define REAPER_PIDINFO_EXITING 0x00000020
struct procctl_reaper_pids {
u_int rp_count;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Feb 11, 5:43 PM (7 h, 19 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16598766
Default Alt Text
D39585.diff (2 KB)
Attached To
Mode
D39585: procctl: add state flags to PROC_REAP_GETPIDS reports
Attached
Detach File
Event Timeline
Log In to Comment