kernel - Move KNOTE() out of interrupt path
authorSamuel J. Greear <sjg@thesjg.com>
Mon, 9 Aug 2010 18:00:33 +0000 (18:00 +0000)
committerSamuel J. Greear <sjg@thesjg.com>
Mon, 9 Aug 2010 18:00:33 +0000 (18:00 +0000)
sys/kern/kern_sig.c

index eb69126..3478106 100644 (file)
@@ -993,10 +993,6 @@ lwpsignal(struct proc *p, struct lwp *lp, int sig)
 
        KKASSERT(lp == NULL || lp->lwp_proc == p);
 
-       crit_enter();
-       KNOTE(&p->p_klist, NOTE_SIGNAL | sig);
-       crit_exit();
-
        prop = sigprop(sig);
 
        /*
@@ -1822,6 +1818,8 @@ postsig(int sig)
 
        KASSERT(sig != 0, ("postsig"));
 
+       KNOTE(&p->p_klist, NOTE_SIGNAL | sig);
+
        /*
         * If we are a virtual kernel running an emulated user process
         * context, switch back to the virtual kernel context before