diff --git a/modules/libcom/src/osi/epicsMutex.h b/modules/libcom/src/osi/epicsMutex.h index 117767a48..c88f57e74 100644 --- a/modules/libcom/src/osi/epicsMutex.h +++ b/modules/libcom/src/osi/epicsMutex.h @@ -41,6 +41,7 @@ #ifndef epicsMutexh #define epicsMutexh +#include "cantProceed.h" #include "epicsAssert.h" #include "libComAPI.h" @@ -212,9 +213,12 @@ LIBCOM_API epicsMutexLockStatus epicsStdCall epicsMutexLock( * This routine does not return if the identifier is invalid. * \param ID The mutex identifier. **/ -#define epicsMutexMustLock(ID) { \ - epicsMutexLockStatus status = epicsMutexLock(ID); \ - assert(status == epicsMutexLockOK); \ +#define epicsMutexMustLock(ID) { \ + epicsMutexLockStatus status = epicsMutexLock(ID); \ + if(status != epicsMutexLockOK) { \ + cantProceed("epicsMutexMustLock() failed at %s:%d", \ + __FILE__, __LINE__); \ + } \ } /**\brief Similar to epicsMutexLock() except that the call returns immediately,