Esempio n. 1
0
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;
}
Esempio n. 3
0
void condvar_destroy(struct condvar *cv)
{
	if (cv->m)
		TEE_ASSERT(!wq_have_condvar(&cv->m->wq, cv));
	condvar_init(cv);
}