int cond_destroy(Cond_t c) { int ret = 0; if (c && !(ret = pthread_cond_destroy((pthread_cond_t *)c)) ) Free_mem(c); return ret; }
/** Destroys the mutex, freeing any memory it may have used. */ int mut_destroy(Mut_t m) { int ret = 0; if (m && !(ret = pthread_mutex_destroy((pthread_mutex_t *)m)) ) Free_mem(m); return ret; }
/** Destroys the semaphore, freeing any resources it may have used */ int Sem_destroy(Sem_t sem) { int ret = 0; if (sem && !(ret = sem_destroy((sem_t *)sem)) ) Free_mem(sem); return ret; }
/** Creates a new semaphore, initializing its value to value, may allocate memory */ Sem_t Sem_create(unsigned int value) { sem_t *sem = (sem_t *)Alloc_mem(sizeof(sem_t)); if (sem) { int ret = sem_init(sem, 0, value); if (ret) { Free_mem(sem); sem = 0; } } return (Sem_t)sem; }
ParentTree::~ParentTree() { Free_mem(parent); }
void operator delete[](void *p) { Free_mem(p); }
void RMAWindow<T>::clean() { Free_mem(data); win->Free(); }
void Strfree(const char *s) { Free_mem((void *)s); }