Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Mar 2010 12:35:33 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r204796 - stable/8/sys/kern
Message-ID:  <201003061235.o26CZXN1023664@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Sat Mar  6 12:35:33 2010
New Revision: 204796
URL: http://svn.freebsd.org/changeset/base/204796

Log:
  MFC r204413:
  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.

Modified:
  stable/8/sys/kern/kern_proc.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)
  stable/8/sys/netinet/   (props changed)

Modified: stable/8/sys/kern/kern_proc.c
==============================================================================
--- stable/8/sys/kern/kern_proc.c	Sat Mar  6 11:07:17 2010	(r204795)
+++ stable/8/sys/kern/kern_proc.c	Sat Mar  6 12:35:33 2010	(r204796)
@@ -829,9 +829,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)
@@ -900,7 +901,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);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003061235.o26CZXN1023664>