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:
Pawel Jakub Dawidek 2012-06-19 22:23:59 +00:00
parent 0a7007b98f
commit 53e1646325
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=237277

View File

@ -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);