Author: kib
Date: Sat Feb 27 15:32:49 2010
New Revision: 204413
URL: http://svn.freebsd.org/changeset/base/204413

Log:
  For kinfo_proc in kp->ki_siglist, return the set of the signals pending
  in the process queue when gathering information for the process, and set
  of signals pending for the thread, when gathering information for the
  thread. Previously, the sysctl returned a union of the process and some
  arbitrary thread pending set for the process, and union of the process
  and the thread pending set for the thread.
  
  MFC after:    1 week

Modified:
  head/sys/kern/kern_proc.c

Modified: head/sys/kern/kern_proc.c
==============================================================================
--- head/sys/kern/kern_proc.c   Sat Feb 27 15:26:36 2010        (r204412)
+++ head/sys/kern/kern_proc.c   Sat Feb 27 15:32:49 2010        (r204413)
@@ -828,9 +828,10 @@ fill_kinfo_proc_only(struct proc *p, str
 }
 
 /*
- * Fill in information that is thread specific.  Must be called with p_slock
- * locked.  If 'preferthread' is set, overwrite certain process-related
- * fields that are maintained for both threads and processes.
+ * Fill in information that is thread specific.  Must be called with
+ * target process locked.  If 'preferthread' is set, overwrite certain
+ * process-related fields that are maintained for both threads and
+ * processes.
  */
 static void
 fill_kinfo_thread(struct thread *td, struct kinfo_proc *kp, int preferthread)
@@ -899,7 +900,8 @@ fill_kinfo_thread(struct thread *td, str
        /* We can't get this anymore but ps etc never used it anyway. */
        kp->ki_rqindex = 0;
 
-       SIGSETOR(kp->ki_siglist, td->td_siglist);
+       if (preferthread)
+               kp->ki_siglist = td->td_siglist;
        kp->ki_sigmask = td->td_sigmask;
        thread_unlock(td);
 }
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to