Exemplo n.º 1
0
/* TODO: Release lock m and block the thread (enqueued on c).  When unblocked,
   re-acquire m */
void condition_wait(lock_t * m, condition_t * c){
    enter_critical();
    lock_release_helper(m);
    block(&c->wait_queue);
    lock_acquire_helper(m);
    leave_critical();
}
Exemplo n.º 2
0
void lock_release(lock_t * l){
    enter_critical();
    lock_release_helper(l);
    leave_critical();
}