PTHREAD_MUTEX_RECURSIVE_NP is a enum not macro

This commit is contained in:
Tianlong Wu 2015-12-03 13:44:11 +08:00
parent f44b61c403
commit 3e655bad3b

View File

@ -619,13 +619,7 @@ FdEntity::FdEntity(const char* tpath, const char* cpath)
try{ try{
pthread_mutexattr_t attr; pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr); pthread_mutexattr_init(&attr);
#ifdef PTHREAD_MUTEX_RECURSIVE_NP
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP); // recursive mutex
#elif PTHREAD_MUTEX_RECURSIVE
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); // recursive mutex pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); // recursive mutex
#else
#error "Either PTHREAD_MUTEX_RECURSIVE_NP or PTHREAD_MUTEX_RECURSIVE must be defined."
#endif
pthread_mutex_init(&fdent_lock, &attr); pthread_mutex_init(&fdent_lock, &attr);
is_lock_init = true; is_lock_init = true;
}catch(exception& e){ }catch(exception& e){