From 1d19081efbb9517d07c7e6c1a8393c6343ba7817 Mon Sep 17 00:00:00 2001 From: Frans Kaashoek Date: Thu, 30 Aug 2018 16:14:34 -0400 Subject: [PATCH] Allow holding to be called with interrupts enabled (for Mark Morrissey). --- spinlock.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/spinlock.c b/spinlock.c index 9120bf2..4020186 100644 --- a/spinlock.c +++ b/spinlock.c @@ -89,7 +89,11 @@ getcallerpcs(void *v, uint pcs[]) int holding(struct spinlock *lock) { - return lock->locked && lock->cpu == mycpu(); + int r; + pushcli(); + r = lock->locked && lock->cpu == mycpu(); + popcli(); + return r; }