Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/sleepqueue.h
Show First 20 Lines • Show All 84 Lines • ▼ Show 20 Lines | |||||
#define SLEEPQ_INTERRUPTIBLE 0x100 /* Sleep is interruptible. */ | #define SLEEPQ_INTERRUPTIBLE 0x100 /* Sleep is interruptible. */ | ||||
void init_sleepqueues(void); | void init_sleepqueues(void); | ||||
int sleepq_abort(struct thread *td, int intrval); | int sleepq_abort(struct thread *td, int intrval); | ||||
void sleepq_add(void *wchan, struct lock_object *lock, const char *wmesg, | void sleepq_add(void *wchan, struct lock_object *lock, const char *wmesg, | ||||
int flags, int queue); | int flags, int queue); | ||||
struct sleepqueue *sleepq_alloc(void); | struct sleepqueue *sleepq_alloc(void); | ||||
int sleepq_broadcast(void *wchan, int flags, int pri, int queue); | int sleepq_broadcast(void *wchan, int flags, int pri, int queue); | ||||
void sleepq_chains_remove_matching(bool (*matches)(struct thread *)); | |||||
void sleepq_free(struct sleepqueue *sq); | void sleepq_free(struct sleepqueue *sq); | ||||
void sleepq_lock(void *wchan); | void sleepq_lock(void *wchan); | ||||
struct sleepqueue *sleepq_lookup(void *wchan); | struct sleepqueue *sleepq_lookup(void *wchan); | ||||
void sleepq_release(void *wchan); | void sleepq_release(void *wchan); | ||||
void sleepq_remove(struct thread *td, void *wchan); | void sleepq_remove(struct thread *td, void *wchan); | ||||
int sleepq_remove_matching(struct sleepqueue *sq, int queue, | |||||
bool (*matches)(struct thread *), int pri); | |||||
int sleepq_signal(void *wchan, int flags, int pri, int queue); | int sleepq_signal(void *wchan, int flags, int pri, int queue); | ||||
void sleepq_set_timeout_sbt(void *wchan, sbintime_t sbt, | void sleepq_set_timeout_sbt(void *wchan, sbintime_t sbt, | ||||
sbintime_t pr, int flags); | sbintime_t pr, int flags); | ||||
#define sleepq_set_timeout(wchan, timo) \ | #define sleepq_set_timeout(wchan, timo) \ | ||||
sleepq_set_timeout_sbt((wchan), tick_sbt * (timo), 0, C_HARDCLOCK) | sleepq_set_timeout_sbt((wchan), tick_sbt * (timo), 0, C_HARDCLOCK) | ||||
u_int sleepq_sleepcnt(void *wchan, int queue); | u_int sleepq_sleepcnt(void *wchan, int queue); | ||||
int sleepq_timedwait(void *wchan, int pri); | int sleepq_timedwait(void *wchan, int pri); | ||||
int sleepq_timedwait_sig(void *wchan, int pri); | int sleepq_timedwait_sig(void *wchan, int pri); | ||||
Show All 12 Lines |