This is Unofficial EPICS BASE Doxygen Site
osdInterrupt.c File Reference
#include <stddef.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include "epicsMutex.h"
#include "epicsThread.h"
#include "cantProceed.h"
#include "errlog.h"
#include "epicsInterrupt.h"
+ Include dependency graph for osdInterrupt.c:

Go to the source code of this file.

Functions

LIBCOM_API int epicsInterruptLock ()
 
LIBCOM_API void epicsInterruptUnlock (int key)
 
LIBCOM_API int epicsInterruptIsInterruptContext ()
 
LIBCOM_API void epicsInterruptContextMessage (const char *message)
 

Function Documentation

LIBCOM_API void epicsInterruptContextMessage ( const char *  message)

Definition at line 53 of file osdInterrupt.c.

54 {
55  errlogPrintf("%s", message);
56 }
int errlogPrintf(const char *pFormat,...)
Definition: errlog.c:105
LIBCOM_API int epicsInterruptIsInterruptContext ( void  )

Definition at line 48 of file osdInterrupt.c.

49 {
50  return 0;
51 }
LIBCOM_API int epicsInterruptLock ( void  )

Definition at line 34 of file osdInterrupt.c.

35 {
36  epicsThreadOnce(&onceId, initOnce, NULL);
37  epicsMutexMustLock(globalLock);
38  return 0;
39 }
#define NULL
Definition: catime.c:38
LIBCOM_API void epicsStdCall epicsThreadOnce(epicsThreadOnceId *id, EPICSTHREADFUNC, void *arg)
#define epicsMutexMustLock(ID)
Claim a semaphore (see epicsMutexLock()).
Definition: epicsMutex.h:214
LIBCOM_API void epicsInterruptUnlock ( int  key)

Definition at line 41 of file osdInterrupt.c.

42 {
43  if (!globalLock)
44  cantProceed("epicsInterruptUnlock called before epicsInterruptLock\n");
45  epicsMutexUnlock(globalLock);
46 }
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
Definition: epicsMutex.cpp:140
LIBCOM_API void cantProceed(const char *msg,...)
Definition: cantProceed.c:54