Check proper flag (PDF_DAEMON, not PD_DAEMON) when deciding if the process
should be killed or not. This fixes killing pdfork(2)ed process on last close of the corresponding process descriptor. Reviewed by: rwatson MFC after: 1 month
This commit is contained in:
parent
0a7007b98f
commit
53e1646325
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=237277
@ -338,7 +338,7 @@ procdesc_reap(struct proc *p)
|
||||
|
||||
/*
|
||||
* procdesc_close() - last close on a process descriptor. If the process is
|
||||
* still running, terminate with SIGKILL (unless PD_DAEMON is set) and let
|
||||
* still running, terminate with SIGKILL (unless PDF_DAEMON is set) and let
|
||||
* init(8) clean up the mess; if not, we have to clean up the zombie ourselves.
|
||||
*/
|
||||
static int
|
||||
@ -386,7 +386,7 @@ procdesc_close(struct file *fp, struct thread *td)
|
||||
*/
|
||||
p->p_sigparent = SIGCHLD;
|
||||
proc_reparent(p, initproc);
|
||||
if ((pd->pd_flags & PD_DAEMON) == 0)
|
||||
if ((pd->pd_flags & PDF_DAEMON) == 0)
|
||||
kern_psignal(p, SIGKILL);
|
||||
PROC_UNLOCK(p);
|
||||
sx_xunlock(&proctree_lock);
|
||||
|
Loading…
Reference in New Issue
Block a user