summaryrefslogtreecommitdiff
path: root/sys/kern/kern_exit.c
diff options
context:
space:
mode:
authorDavid Xu <davidxu@FreeBSD.org>2005-10-23 04:22:56 +0000
committerDavid Xu <davidxu@FreeBSD.org>2005-10-23 04:22:56 +0000
commit86857b368d4186c9c57f3472f55f5c3346d8a0c1 (patch)
tree0646598ac68425c9b342b7f7d89ec9d97e5673e1 /sys/kern/kern_exit.c
parent5da49fcb8a52cb119d97d64aa185d85226cac472 (diff)
Notes
Diffstat (limited to 'sys/kern/kern_exit.c')
-rw-r--r--sys/kern/kern_exit.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
index 66f37ca572a4..399d369d2907 100644
--- a/sys/kern/kern_exit.c
+++ b/sys/kern/kern_exit.c
@@ -207,8 +207,6 @@ retry:
PROC_LOCK(p);
stopprofclock(p);
p->p_flag &= ~(P_TRACED | P_PPWAIT);
- sigqueue_flush(&p->p_sigqueue);
- sigqueue_flush(&td->td_sigqueue);
/*
* Stop the real interval timer. If the handler is currently
@@ -221,8 +219,12 @@ retry:
KASSERT(!timevalisset(&p->p_realtimer.it_value),
("realtime timer is still armed"));
}
+ sigqueue_flush(&p->p_sigqueue);
+ sigqueue_flush(&td->td_sigqueue);
PROC_UNLOCK(p);
+ itimers_event_hook(p, ITIMER_EV_EXIT);
+
/*
* Reset any sigio structures pointing to us as a result of
* F_SETOWN with our pid.