svn commit: r246404 - stable/9/sys/kern
Konstantin Belousov
kib at FreeBSD.org
Wed Feb 6 13:49:57 UTC 2013
Author: kib
Date: Wed Feb 6 13:49:56 2013
New Revision: 246404
URL: http://svnweb.freebsd.org/changeset/base/246404
Log:
MFC r246118:
The case of pid == WAIT_MYPGRP for the kern_wait() is already handled
in kern_wait6(), which is called by kern_wait(). Remove the redundand
check, introduced in r243136, and add a comment noting this, to make
the code less confusing.
Modified:
stable/9/sys/kern/kern_exit.c
Directory Properties:
stable/9/sys/ (props changed)
Modified: stable/9/sys/kern/kern_exit.c
==============================================================================
--- stable/9/sys/kern/kern_exit.c Wed Feb 6 13:17:41 2013 (r246403)
+++ stable/9/sys/kern/kern_exit.c Wed Feb 6 13:49:56 2013 (r246404)
@@ -1019,20 +1019,18 @@ kern_wait(struct thread *td, pid_t pid,
struct rusage *rusage)
{
struct __wrusage wru, *wrup;
- struct proc *q;
idtype_t idtype;
id_t id;
int ret;
+ /*
+ * Translate the special pid values into the (idtype, pid)
+ * pair for kern_wait6. The WAIT_MYPGRP case is handled by
+ * kern_wait6() on its own.
+ */
if (pid == WAIT_ANY) {
idtype = P_ALL;
id = 0;
- } else if (pid == WAIT_MYPGRP) {
- idtype = P_PGID;
- q = td->td_proc;
- PROC_LOCK(q);
- id = (id_t)q->p_pgid;
- PROC_UNLOCK(q);
} else if (pid < 0) {
idtype = P_PGID;
id = (id_t)-pid;
@@ -1040,10 +1038,12 @@ kern_wait(struct thread *td, pid_t pid,
idtype = P_PID;
id = (id_t)pid;
}
+
if (rusage != NULL)
wrup = &wru;
else
wrup = NULL;
+
/*
* For backward compatibility we implicitly add flags WEXITED
* and WTRAPPED here.
More information about the svn-src-stable-9
mailing list