|
Barrelfish
|
Event mutex implementation. More...
Functions | |
| void | event_mutex_init (struct event_mutex *em, struct waitset *waitset) |
| Initialise a new event mutex. | |
| bool | event_mutex_enqueue_lock (struct event_mutex *em, struct event_queue_node *qn, struct event_closure lockcont) |
| Enqueue a lock acquisition request for the mutex. More... | |
| void | event_mutex_threaded_lock (struct event_mutex *em) |
| Acquire the mutex, blocking the calling thread until done. More... | |
| void | event_mutex_unlock (struct event_mutex *em) |
| Unlock the mutex, which must be held by the caller. More... | |
Event mutex implementation.
This code implements an event-driven mutex which supports lock acquisition events.
| bool event_mutex_enqueue_lock | ( | struct event_mutex * | em, |
| struct event_queue_node * | qn, | ||
| struct event_closure | lockcont | ||
| ) |
Enqueue a lock acquisition request for the mutex.
| em | Event mutex |
| qn | Storage for queue node. allocated by caller, live until continuation runs |
| lockcont | Continuation for lock acquisition |
| void event_mutex_threaded_lock | ( | struct event_mutex * | em | ) |
Acquire the mutex, blocking the calling thread until done.
| em | Event mutex |
| void event_mutex_unlock | ( | struct event_mutex * | em | ) |
Unlock the mutex, which must be held by the caller.
1.8.11