Author: kib
Date: Wed Jan 30 13:14:15 2013
New Revision: 246118
URL: http://svnweb.freebsd.org/changeset/base/246118

Log:
  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.
  
  The blank lines are added to properly delineate the scope of the
  preceeding comments.
  
  Noted by:     "Jukka A. Ukkonen" <j...@iki.fi>
  MFC after:    1 week

Modified:
  head/sys/kern/kern_exit.c

Modified: head/sys/kern/kern_exit.c
==============================================================================
--- head/sys/kern/kern_exit.c   Wed Jan 30 12:48:16 2013        (r246117)
+++ head/sys/kern/kern_exit.c   Wed Jan 30 13:14:15 2013        (r246118)
@@ -1024,20 +1024,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;
@@ -1045,10 +1043,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.
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to