Example #1
0
int rwlock_Destroy(rwlock_t* rwlock)
{
  MUTEX_DESTROY(rwlock->lock);
  COND_DESTROY(rwlock->reader_cond);
  COND_DESTROY(rwlock->writer_cond);
  free(rwlock->lock);
  free(rwlock->reader_cond);
  free(rwlock->writer_cond);
  free(rwlock);
  return 0;
}
Example #2
0
  int
ams_Destroy(ams_p ams)
{
  MUTEX_DESTROY(ams->runflag_lock);
  free(ams->runflag_lock);
  COND_DESTROY(ams->runflag_cond);
  free(ams->runflag_cond);
  MUTEX_DESTROY(ams->waiting_lock);
  free(ams->waiting_lock);
  COND_DESTROY(ams->waiting_cond);
  free(ams->waiting_cond);
  free(ams);
  return MC_SUCCESS;
}
Example #3
0
void S_queue_destroy(pTHX_ message_queue* queue) {
	MUTEX_LOCK(&queue->mutex);
	node_destroy(&queue->front);
	COND_DESTROY(&queue->condvar);
	MUTEX_UNLOCK(&queue->mutex);
	MUTEX_DESTROY(&queue->mutex);
}
Example #4
0
Yodar_4028B::~Yodar_4028B()
{
	EndHandleThread();
	
	DESTROY_MUTEX(&m_handleMutex);
	COND_DESTROY(m_handleCond);
}
Example #5
0
void
mvar_destroy (MVar *const mvar)
{
	int e = 0;
	assert (mvar);

	e = pthread_mutex_destroy (&mvar->lock);
	MUTEX_DESTROY (e);

	e = pthread_cond_destroy (&mvar->put);
	COND_DESTROY (e);

	e = pthread_cond_destroy (&mvar->read);
	COND_DESTROY (e);

	e = pthread_cond_destroy (&mvar->take);
	COND_DESTROY (e);

	mvar->value = NULL;
}
Example #6
0
void modperl_tipool_destroy(modperl_tipool_t *tipool)
{
    while (tipool->idle) {
        modperl_list_t *listp;

        if (tipool->func->tipool_destroy) {
            (*tipool->func->tipool_destroy)(tipool, tipool->data,
                                            tipool->idle->data);
        }
        tipool->size--;
        listp = tipool->idle->next;
        free(tipool->idle);
        tipool->idle = listp;
    }

    if (tipool->busy) {
        MP_TRACE_i(MP_FUNC, "ERROR: %d items still in use",
                   tipool->in_use);
    }

    MUTEX_DESTROY(&tipool->tiplock);
    COND_DESTROY(&tipool->available);
}
Example #7
0
}

/**
 * @brief Chain Destructor
 */
Chain::~Chain()
{
	MUTEX_DESTROY(_recycledIdsMutex)
	MUTEX_DESTROY(_statusMutex)
	MUTEX_DESTROY(_pendingMutex)
	MUTEX_DESTROY(_chainMutex)
	MUTEX_DESTROY(_tailsMutex)
	MUTEX_DESTROY(_attachedMutex)
	MUTEX_DESTROY(_toLongestMutex)

	COND_DESTROY(_pendingCV)
	COND_DESTROY(_attachedCV)

}

/**
 * @brief Create chain instance, init hash library, create genesis
 *
 * @return -1 if already initiated, 0 otherwise
 */
int Chain::initChain()
{
	if (isInitiated())
	{
		return FAIL;
	}