This is Unofficial EPICS BASE Doxygen Site
osdInterrupt.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void InterruptContextMessageDaemon (void *)
 

Function Documentation

void InterruptContextMessageDaemon ( void *  )

Definition at line 64 of file osdInterrupt.c.

65 {
66  const char *message;
67  size_t size;
68  rtems_status_code sc;
69 
70  sc = rtems_message_queue_create (rtems_build_name ('I', 'C', 'M', 'Q'),
72  sizeof message,
73  RTEMS_FIFO | RTEMS_LOCAL,
74  &interruptContextMessageQueue);
75  if (sc != RTEMS_SUCCESSFUL) {
76  errlogPrintf ("Can't create interrupt context message queue: %s\n", rtems_status_text (sc));
78  }
79  for (;;) {
80  sc = rtems_message_queue_receive (interruptContextMessageQueue,
81  &message,
82  &size,
83  RTEMS_WAIT,
84  RTEMS_NO_TIMEOUT);
85  if (sc != RTEMS_SUCCESSFUL) {
86  errlogPrintf ("Can't receive message from interrupt context: %s\n", rtems_status_text (sc));
88  }
89  if (size == sizeof message)
90  syslog (LOG_ERR, "%s", message);
91  else
92  errlogPrintf ("Received %u-byte message from interrupt context", (unsigned int)size);
93  }
94 }
LIBCOM_API void epicsStdCall epicsThreadSuspendSelf(void)
Definition: osdThread.c:664
int errlogPrintf(const char *pFormat,...)
Definition: errlog.c:105
#define INTERRUPT_CONTEXT_MESSAGE_QUEUE_COUNT
Definition: osdInterrupt.c:21