33 semDelete((SEM_ID)
id);
44 }
else if (timeOut >= (
double) INT_MAX / rate) {
47 ticks = timeOut * rate;
51 status = semTake((SEM_ID)
id, ticks);
54 if (errno == S_objLib_OBJ_TIMEOUT ||
55 (errno == S_objLib_OBJ_UNAVAILABLE && ticks == 0))
62 int status = semTake((SEM_ID)
id, NO_WAIT);
66 if (errno == S_objLib_OBJ_UNAVAILABLE)
73 semShow((SEM_ID)
id,level);
LIBCOM_API epicsEventStatus epicsEventWaitWithTimeout(epicsEventId pevent, double timeout)
Wait an the event or until the specified timeout period is over.
LIBCOM_API epicsEventId epicsEventCreate(epicsEventInitialState init)
Create an epicsEvent for use from C code, or return NULL.
LIBCOM_API void epicsEventShow(epicsEventId pevent, unsigned int level)
Display information about the semaphore.
LIBCOM_API epicsEventStatus epicsEventTryWait(epicsEventId id)
Similar to wait() except that if the event is currenly empty the call will return immediately with st...
APIs for the epicsEvent binary semaphore.
epicsEventStatus
Return status from several C API routines.
epicsEventInitialState
Possible initial states of a new epicsEvent.
LIBCOM_API void epicsEventDestroy(epicsEventId pevent)
Destroy an epicsEvent and any resources it holds.