From c7e9e7e892b7375ea88920a969958f26747fb8c4 Mon Sep 17 00:00:00 2001 From: julian Date: Sun, 15 Sep 2002 23:52:25 +0000 Subject: Allocate KSEs and KSEGRPs separatly and remove them from the proc structure. next step is to allow > 1 to be allocated per process. This would give multi-processor threads. (when the rest of the infrastructure is in place) While doing this I noticed libkvm and sys/kern/kern_proc.c:fill_kinfo_proc are diverging more than they should.. corrective action needed soon. --- sys/kern/kern_sig.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'sys/kern/kern_sig.c') diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 4f9f516..7b51b68 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -189,12 +189,19 @@ cursig(struct thread *td) void signotify(struct proc *p) { + struct kse *ke; + struct ksegrp *kg; PROC_LOCK_ASSERT(p, MA_OWNED); mtx_lock_spin(&sched_lock); if (SIGPENDING(p)) { p->p_sflag |= PS_NEEDSIGCHK; - p->p_kse.ke_flags |= KEF_ASTPENDING; /* XXXKSE */ + /* XXXKSE for now punish all KSEs */ + FOREACH_KSEGRP_IN_PROC(p, kg) { + FOREACH_KSE_IN_GROUP(kg, ke) { + ke->ke_flags |= KEF_ASTPENDING; + } + } } mtx_unlock_spin(&sched_lock); } -- cgit v1.1