Skip to content
Snippets Groups Projects
spinlock.h 444 B
Newer Older
// Mutual exclusion lock for short code fragments
rtm's avatar
rtm committed
struct spinlock {
Russ Cox's avatar
Russ Cox committed
  uint locked;       // Is the lock held?
rsc's avatar
rsc committed
  
  // For debugging:
Russ Cox's avatar
Russ Cox committed
  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.
rtm's avatar
rtm committed
};
// Lock that maybe held across sleeps
struct sleeplock {
  uint locked;       // Is the lock held?
};