55 lines
368 B
C
55 lines
368 B
C
// Mutual exclusion lock.
|
|
struct spinlock {
|
|
uint locked; // Is the lock held?
|
|
|
|
// For debugging:
|
|
char *name; // Name of lock.
|
|
int cpu; // The number of the cpu holding the lock.
|
|
uint pcs[10]; // The call stack (an array of program counters)
|
|
// that locked the lock.
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Blank page.
|