blob: f6a69b7705ca9469c8ac6f8db02481404e4599b7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
// Mutual exclusion lock for short code fragments
struct spinlock {
uint locked; // Is the lock held?
// For debugging:
char *name; // Name of lock.
struct cpu *cpu; // The cpu holding the lock.
uint pcs[10]; // The call stack (an array of program counters)
// that locked the lock.
};
// Lock that maybe held across sleeps
struct sleeplock {
uint locked; // Is the lock held?
};
|