no, don't use pthreads extensions if we don't at least have timedlock (not going to bother making it two tests unless it's actually needed)
This commit is contained in:
@@ -104,6 +104,7 @@ MutexImpl_Pthreads::~MutexImpl_Pthreads()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(HAVE_PTHREAD_MUTEX_TIMEDLOCK) || defined(DARWIN)
|
||||||
static bool UseTimedlock()
|
static bool UseTimedlock()
|
||||||
{
|
{
|
||||||
#if defined(LINUX)
|
#if defined(LINUX)
|
||||||
@@ -114,6 +115,7 @@ static bool UseTimedlock()
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
bool MutexImpl_Pthreads::Lock()
|
bool MutexImpl_Pthreads::Lock()
|
||||||
{
|
{
|
||||||
@@ -276,6 +278,7 @@ void SemaImpl_Pthreads::Post()
|
|||||||
|
|
||||||
bool SemaImpl_Pthreads::Wait()
|
bool SemaImpl_Pthreads::Wait()
|
||||||
{
|
{
|
||||||
|
#if defined(HAVE_PTHREAD_MUTEX_TIMEDLOCK) || defined(DARWIN)
|
||||||
if( UseTimedlock() )
|
if( UseTimedlock() )
|
||||||
{
|
{
|
||||||
timeval tv;
|
timeval tv;
|
||||||
@@ -327,6 +330,7 @@ bool SemaImpl_Pthreads::Wait()
|
|||||||
pthread_mutex_unlock( &m_Mutex );
|
pthread_mutex_unlock( &m_Mutex );
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
pthread_mutex_lock( &m_Mutex );
|
pthread_mutex_lock( &m_Mutex );
|
||||||
while( !m_iValue )
|
while( !m_iValue )
|
||||||
|
|||||||
Reference in New Issue
Block a user