diff options
author | Frans Kaashoek <[email protected]> | 2018-08-30 16:14:34 -0400 |
---|---|---|
committer | Frans Kaashoek <[email protected]> | 2018-08-30 16:14:34 -0400 |
commit | 1d19081efbb9517d07c7e6c1a8393c6343ba7817 (patch) | |
tree | 10deccca08fb49c7f4e5c4fb445b150fee64348b | |
parent | 2c73068e825060d188fd9519ebb5bc59fa39c8b2 (diff) | |
download | xv6-labs-1d19081efbb9517d07c7e6c1a8393c6343ba7817.tar.gz xv6-labs-1d19081efbb9517d07c7e6c1a8393c6343ba7817.tar.bz2 xv6-labs-1d19081efbb9517d07c7e6c1a8393c6343ba7817.zip |
Allow holding to be called with interrupts enabled (for Mark Morrissey).
-rw-r--r-- | spinlock.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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; } |