summaryrefslogtreecommitdiff
path: root/kern/semaphore.c
diff options
context:
space:
mode:
Diffstat (limited to 'kern/semaphore.c')
-rw-r--r--kern/semaphore.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/kern/semaphore.c b/kern/semaphore.c
index 72e843a9..a95f17fa 100644
--- a/kern/semaphore.c
+++ b/kern/semaphore.c
@@ -35,7 +35,7 @@ semaphore_wait_slow_common(struct semaphore *semaphore,
error = 0;
- sleepq = sleepq_lend(semaphore, false, &flags);
+ sleepq = sleepq_lend_intr_save(semaphore, false, &flags);
for (;;) {
prev = semaphore_dec(semaphore);
@@ -55,7 +55,7 @@ semaphore_wait_slow_common(struct semaphore *semaphore,
}
}
- sleepq_return(sleepq, flags);
+ sleepq_return_intr_restore(sleepq, flags);
return error;
}
@@ -81,7 +81,7 @@ semaphore_post_slow(struct semaphore *semaphore)
struct sleepq *sleepq;
unsigned long flags;
- sleepq = sleepq_acquire(semaphore, false, &flags);
+ sleepq = sleepq_acquire_intr_save(semaphore, false, &flags);
if (sleepq == NULL) {
return;
@@ -89,5 +89,5 @@ semaphore_post_slow(struct semaphore *semaphore)
sleepq_signal(sleepq);
- sleepq_release(sleepq, flags);
+ sleepq_release_intr_restore(sleepq, flags);
}