WA_recursiveLock WA_createLock(const char *name) { NSAPIThreadRecursiveLock *lock; lock = WOMALLOC(sizeof(NSAPIThreadRecursiveLock)); if (lock) { lock->crit = crit_init(); lock->condvar = condvar_init(lock->crit); lock->lockCount = 0; lock->lockingThread = NULL; if (name) lock->name = name; else lock->name = unnamedLock; } if (!lock) WOLog(WO_ERR, "WA_createLock() failed for lock %s", name ? name : unnamedLock); return lock; }
// init bs parameters void bs_params_init(bs_params_t* p) { mutex_init( &(p->mutex) ); condvar_init( &(p->condvar) ); p->shared_msg_queue_size = 0; p->shared_msg_queue_index = 0; }
void condvar_destroy(struct condvar *cv) { if (cv->m) TEE_ASSERT(!wq_have_condvar(&cv->m->wq, cv)); condvar_init(cv); }