Rev 125 | Rev 430 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 125 | Rev 410 | ||
---|---|---|---|
Line 38... | Line 38... | ||
38 | #define WAKEUP_FIRST 0 |
38 | #define WAKEUP_FIRST 0 |
39 | #define WAKEUP_ALL 1 |
39 | #define WAKEUP_ALL 1 |
40 | 40 | ||
41 | struct waitq { |
41 | struct waitq { |
42 | spinlock_t lock; |
42 | spinlock_t lock; |
43 | int missed_wakeups; |
43 | int missed_wakeups; /**< Number of waitq_wakeup() calls that didn't find a thread to wake up. */ |
44 | link_t head; |
44 | link_t head; /**< List of sleeping threads for wich there was no missed_wakeup. */ |
45 | }; |
45 | }; |
46 | 46 | ||
47 | #define waitq_sleep(wq) \ |
47 | #define waitq_sleep(wq) \ |
48 | waitq_sleep_timeout((wq),SYNCH_NO_TIMEOUT,SYNCH_BLOCKING) |
48 | waitq_sleep_timeout((wq),SYNCH_NO_TIMEOUT,SYNCH_BLOCKING) |
49 | 49 |