29 static void initOnce(
void *junk)
44 cantProceed(
"epicsInterruptUnlock called before epicsInterruptLock\n");
LIBCOM_API int epicsInterruptIsInterruptContext()
LIBCOM_API void epicsInterruptUnlock(int key)
#define epicsMutexMustCreate()
Create an epicsMutex semaphore for use from C code.
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
#define EPICS_THREAD_ONCE_INIT
APIs for the epicsMutex mutual exclusion semaphore.
LIBCOM_API void epicsStdCall epicsThreadOnce(epicsThreadOnceId *id, EPICSTHREADFUNC, void *arg)
int errlogPrintf(const char *pFormat,...)
LIBCOM_API void cantProceed(const char *msg,...)
LIBCOM_API int epicsInterruptLock()
Routines for code that can't continue or return after an error.
C++ and C descriptions for a thread.
#define epicsMutexMustLock(ID)
Claim a semaphore (see epicsMutexLock()).
LIBCOM_API void epicsInterruptContextMessage(const char *message)