summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/kern/kern_time.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c
index 93ab1dc..7ad9c17 100644
--- a/sys/kern/kern_time.c
+++ b/sys/kern/kern_time.c
@@ -547,9 +547,11 @@ realitexpire(arg)
int s;
p = (struct proc *)arg;
+ PROC_LOCK(p);
psignal(p, SIGALRM);
if (!timevalisset(&p->p_realtimer.it_interval)) {
timevalclear(&p->p_realtimer.it_value);
+ PROC_UNLOCK(p);
return;
}
for (;;) {
@@ -563,10 +565,12 @@ realitexpire(arg)
callout_reset(&p->p_itcallout, tvtohz(&ntv) - 1,
realitexpire, p);
splx(s);
+ PROC_UNLOCK(p);
return;
}
splx(s);
}
+ /*NOTREACHED*/
}
/*
OpenPOWER on IntegriCloud