diff --git a/panda/src/pipeline/conditionVarPosixImpl.I b/panda/src/pipeline/conditionVarPosixImpl.I index ed3631bbe7..524d22fc9e 100644 --- a/panda/src/pipeline/conditionVarPosixImpl.I +++ b/panda/src/pipeline/conditionVarPosixImpl.I @@ -48,7 +48,12 @@ INLINE void ConditionVarPosixImpl:: wait() { TAU_PROFILE("ConditionVarPosixImpl::wait()", " ", TAU_USER); int result = pthread_cond_wait(&_cvar, &_mutex._lock); - nassertv(result == 0); +#ifndef NDEBUG + if (result != 0) { + pipeline_cat.error() + << "Unexpected error " << result << " from pthread_cond_wait()\n"; + } +#endif } //////////////////////////////////////////////////////////////////// diff --git a/panda/src/pipeline/conditionVarPosixImpl.cxx b/panda/src/pipeline/conditionVarPosixImpl.cxx index adff94c249..b305346cf3 100644 --- a/panda/src/pipeline/conditionVarPosixImpl.cxx +++ b/panda/src/pipeline/conditionVarPosixImpl.cxx @@ -41,7 +41,12 @@ wait(double timeout) { ts.tv_nsec += (int)((timeout - seconds) * 1000000.0); int result = pthread_cond_timedwait(&_cvar, &_mutex._lock, &ts); - nassertv(result == 0 || errno == ETIMEDOUT); +#ifndef NDEBUG + if (result != 0 && result != ETIMEDOUT) { + pipeline_cat.error() + << "Unexpected error " << result << " from pthread_cond_timedwait()\n"; + } +#endif } #endif // HAVE_POSIX_THREADS diff --git a/panda/src/pipeline/conditionVarPosixImpl.h b/panda/src/pipeline/conditionVarPosixImpl.h index a823534f15..f4ad5690f8 100644 --- a/panda/src/pipeline/conditionVarPosixImpl.h +++ b/panda/src/pipeline/conditionVarPosixImpl.h @@ -22,6 +22,7 @@ #include "mutexPosixImpl.h" #include "pnotify.h" +#include "config_pipeline.h" #include