aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2010-03-06 12:35:33 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2010-03-06 12:35:33 +0000
commitd3fe3690fbc9bc0028a602bf101387931e309caf (patch)
tree7ce32b33c14accb3300ccc6b998055f2899a2e44 /sys
parent02178aec70ae348343390664535dce4e2d384b23 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_proc.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c
index 353a4e667c62..511369811896 100644
--- a/sys/kern/kern_proc.c
+++ b/sys/kern/kern_proc.c
@@ -829,9 +829,10 @@ fill_kinfo_proc_only(struct proc *p, struct kinfo_proc *kp)
}
/*
- * 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, struct kinfo_proc *kp, int preferthread)
/* 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);
}