summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/kern/kern_signal.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/kern_signal.c b/sys/kern/kern_signal.c
index 96c02a5..7c31c86 100644
--- a/sys/kern/kern_signal.c
+++ b/sys/kern/kern_signal.c
@@ -56,12 +56,13 @@ signal_handle(struct proc *curtd)
{
int signo = curtd->signal;
- spinlock_acquire(&curtd->lock);
if (signo == 0) {
return;
}
+ spinlock_acquire(&curtd->lock);
curtd->signal = 0;
+
switch (signo) {
case SIGFPE:
signal_log("Arithmetic error\n");