void init(Mutex* mutex) { _mutex = mutex; if (pthread_cond_init(&_pthread_cond, NULL) == 0) { _cond_initialized = true; } if (!_cond_initialized) { cleanup(); throw SystemResourceException(); } }
Impl() : mutexInitialized_(false), condInitialized_(false) { if (pthread_mutex_init(&pthread_mutex_, NULL) == 0) { mutexInitialized_ = true; if (pthread_cond_init(&pthread_cond_, NULL) == 0) { condInitialized_ = true; } } if (!mutexInitialized_ || !condInitialized_) { cleanup(); throw SystemResourceException(); } }