54,40 → 54,20 |
#define DECLARE_WAIT_QUEUE_HEAD(name) \ |
wait_queue_head_t name = __WAIT_QUEUE_HEAD_INITIALIZER(name) |
|
static inline void init_waitqueue_head(wait_queue_head_t *q) |
{ |
q->lock = SPIN_LOCK_UNLOCKED; |
INIT_LIST_HEAD(&q->task_list); |
} |
extern void init_waitqueue_head(wait_queue_head_t *q); |
|
static inline void init_waitqueue_entry(wait_queue_t *q, struct task_struct *p) |
{ |
q->flags = 0; |
q->task = p; |
q->func = default_wake_function; |
} |
extern void init_waitqueue_entry(wait_queue_t *q, struct task_struct *p); |
|
static inline void init_waitqueue_func_entry(wait_queue_t *q, |
wait_queue_func_t func) |
{ |
q->flags = 0; |
q->task = NULL; |
q->func = func; |
} |
extern void init_waitqueue_func_entry(wait_queue_t *q, |
wait_queue_func_t func); |
|
static inline int waitqueue_active(wait_queue_head_t *q) |
{ |
return !list_empty(&q->task_list); |
} |
extern int waitqueue_active(wait_queue_head_t *q); |
|
extern void FASTCALL(add_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)); |
extern void FASTCALL(add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t * wait)); |
extern void FASTCALL(remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)); |
|
static inline void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new) |
{ |
list_add(&new->task_list, &head->task_list); |
} |
extern void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new); |
|
/* |
* Used for wake-one threads: |