diff options
| author | David Xu <davidxu@FreeBSD.org> | 2005-10-30 02:56:08 +0000 |
|---|---|---|
| committer | David Xu <davidxu@FreeBSD.org> | 2005-10-30 02:56:08 +0000 |
| commit | 56c06c4b674b7f19af6b1aa9960966d3b82dd245 (patch) | |
| tree | d48e1b85529efd639c3d3b692210e7426040330a /sys/kern/kern_sig.c | |
| parent | 01790d850d01e2caa94e3c2e41d1a46d46cf3eb9 (diff) | |
Notes
Diffstat (limited to 'sys/kern/kern_sig.c')
| -rw-r--r-- | sys/kern/kern_sig.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 169e2c7a1525..d63affa1c52e 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -69,6 +69,7 @@ __FBSDID("$FreeBSD$"); #include <sys/sysent.h> #include <sys/syslog.h> #include <sys/sysproto.h> +#include <sys/timers.h> #include <sys/unistd.h> #include <sys/wait.h> #include <vm/vm.h> @@ -1252,6 +1253,8 @@ out: ksiginfo_init(ksi); sigqueue_get(&td->td_sigqueue, sig, ksi); ksi->ksi_signo = sig; + if (ksi->ksi_code == SI_TIMER) + itimer_accept(p, ksi->ksi_timerid, ksi); error = 0; mtx_lock(&ps->ps_mtx); action = ps->ps_sigact[_SIG_IDX(sig)]; @@ -2670,7 +2673,8 @@ postsig(sig) ksiginfo_init(&ksi); sigqueue_get(&td->td_sigqueue, sig, &ksi); ksi.ksi_signo = sig; - + if (ksi.ksi_code == SI_TIMER) + itimer_accept(p, ksi.ksi_timerid, &ksi); action = ps->ps_sigact[_SIG_IDX(sig)]; #ifdef KTRACE if (KTRPOINT(td, KTR_PSIG)) |
