Lines Matching defs:mutex
46 mtx_lock(struct mtx* mutex)
48 if (mutex->type == MTX_DEF) {
49 mutex_lock(&mutex->u.mutex.lock);
50 mutex->u.mutex.owner = find_thread(NULL);
51 } else if (mutex->type == MTX_RECURSE)
52 recursive_lock_lock(&mutex->u.recursive);
57 mtx_unlock(struct mtx* mutex)
59 if (mutex->type == MTX_DEF) {
60 mutex->u.mutex.owner = -1;
61 mutex_unlock(&mutex->u.mutex.lock);
62 } else if (mutex->type == MTX_RECURSE)
63 recursive_lock_unlock(&mutex->u.recursive);
68 mtx_initialized(struct mtx* mutex)
76 mtx_owned(struct mtx* mutex)
78 if (mutex->type == MTX_DEF)
79 return mutex->u.mutex.owner == find_thread(NULL);
80 if (mutex->type == MTX_RECURSE) {
82 return mutex->u.recursive.lock.holder == find_thread(NULL);
84 return mutex->u.recursive.holder == find_thread(NULL);