libCom: Fixed epicsEvent issues on Win32 and cygwin.
* Removed all epicsShareAPI decorations * Return value from Win32 epicsEventTrigger() inverted * Return OK from posix epicsEventTrigger() omitted.
This commit is contained in:
@@ -35,6 +35,7 @@ Reworked the epicsEvent C & C++ APIs</h3>
|
||||
libCom/osi/epicsEvent.cpp source file, and call cantProceed() instead of
|
||||
mis-using assert()</li>
|
||||
<li>Implemented epicsEventShow() on Posix</li>
|
||||
<li>Win32: Removed all epicsShareAPI decorations</li>
|
||||
</ul>
|
||||
|
||||
<h3>
|
||||
|
||||
+10
-10
@@ -52,23 +52,23 @@ private:
|
||||
extern "C" {
|
||||
#endif /*__cplusplus */
|
||||
|
||||
epicsShareFunc epicsEventId epicsShareAPI epicsEventCreate(
|
||||
epicsShareFunc epicsEventId epicsEventCreate(
|
||||
epicsEventInitialState initialState);
|
||||
epicsShareFunc epicsEventId epicsShareAPI epicsEventMustCreate (
|
||||
epicsShareFunc epicsEventId epicsEventMustCreate (
|
||||
epicsEventInitialState initialState);
|
||||
epicsShareFunc void epicsShareAPI epicsEventDestroy(epicsEventId id);
|
||||
epicsShareFunc epicsEventStatus epicsShareAPI epicsEventTrigger(
|
||||
epicsShareFunc void epicsEventDestroy(epicsEventId id);
|
||||
epicsShareFunc epicsEventStatus epicsEventTrigger(
|
||||
epicsEventId id);
|
||||
epicsShareFunc void epicsShareAPI epicsEventMustTrigger(epicsEventId id);
|
||||
epicsShareFunc void epicsEventMustTrigger(epicsEventId id);
|
||||
#define epicsEventSignal(ID) epicsEventMustTrigger(ID)
|
||||
epicsShareFunc epicsEventStatus epicsShareAPI epicsEventWait(
|
||||
epicsShareFunc epicsEventStatus epicsEventWait(
|
||||
epicsEventId id);
|
||||
epicsShareFunc void epicsShareAPI epicsEventMustWait(epicsEventId id);
|
||||
epicsShareFunc epicsEventStatus epicsShareAPI epicsEventWaitWithTimeout(
|
||||
epicsShareFunc void epicsEventMustWait(epicsEventId id);
|
||||
epicsShareFunc epicsEventStatus epicsEventWaitWithTimeout(
|
||||
epicsEventId id, double timeOut);
|
||||
epicsShareFunc epicsEventStatus epicsShareAPI epicsEventTryWait(
|
||||
epicsShareFunc epicsEventStatus epicsEventTryWait(
|
||||
epicsEventId id);
|
||||
epicsShareFunc void epicsShareAPI epicsEventShow(
|
||||
epicsShareFunc void epicsEventShow(
|
||||
epicsEventId id, unsigned int level);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -34,7 +34,7 @@ typedef struct epicsEventOSD {
|
||||
/*
|
||||
* epicsEventCreate ()
|
||||
*/
|
||||
epicsShareFunc epicsEventId epicsShareAPI epicsEventCreate (
|
||||
epicsShareFunc epicsEventId epicsEventCreate (
|
||||
epicsEventInitialState initialState )
|
||||
{
|
||||
epicsEventOSD *pSem;
|
||||
@@ -54,26 +54,26 @@ epicsShareFunc epicsEventId epicsShareAPI epicsEventCreate (
|
||||
/*
|
||||
* epicsEventDestroy ()
|
||||
*/
|
||||
epicsShareFunc void epicsShareAPI epicsEventDestroy ( epicsEventId pSem )
|
||||
epicsShareFunc void epicsEventDestroy ( epicsEventId pSem )
|
||||
{
|
||||
CloseHandle ( pSem->handle );
|
||||
free ( pSem );
|
||||
}
|
||||
|
||||
/*
|
||||
* epicsEventSignal ()
|
||||
* epicsEventTrigger ()
|
||||
*/
|
||||
epicsShareFunc epicsEventStatus epicsShareAPI epicsEventTrigger ( epicsEventId pSem )
|
||||
epicsShareFunc epicsEventStatus epicsEventTrigger ( epicsEventId pSem )
|
||||
{
|
||||
BOOL status;
|
||||
status = SetEvent ( pSem->handle );
|
||||
return status ? epicsEventError : epicsEventOK;
|
||||
return status ? epicsEventOK : epicsEventError;
|
||||
}
|
||||
|
||||
/*
|
||||
* epicsEventWait ()
|
||||
*/
|
||||
epicsShareFunc epicsEventStatus epicsShareAPI epicsEventWait ( epicsEventId pSem )
|
||||
epicsShareFunc epicsEventStatus epicsEventWait ( epicsEventId pSem )
|
||||
{
|
||||
DWORD status;
|
||||
status = WaitForSingleObject (pSem->handle, INFINITE);
|
||||
@@ -88,7 +88,7 @@ epicsShareFunc epicsEventStatus epicsShareAPI epicsEventWait ( epicsEventId pSem
|
||||
/*
|
||||
* epicsEventWaitWithTimeout ()
|
||||
*/
|
||||
epicsShareFunc epicsEventStatus epicsShareAPI epicsEventWaitWithTimeout (
|
||||
epicsShareFunc epicsEventStatus epicsEventWaitWithTimeout (
|
||||
epicsEventId pSem, double timeOut )
|
||||
{
|
||||
static const unsigned mSecPerSec = 1000;
|
||||
@@ -122,7 +122,7 @@ epicsShareFunc epicsEventStatus epicsShareAPI epicsEventWaitWithTimeout (
|
||||
/*
|
||||
* epicsEventTryWait ()
|
||||
*/
|
||||
epicsShareFunc epicsEventStatus epicsShareAPI epicsEventTryWait ( epicsEventId pSem )
|
||||
epicsShareFunc epicsEventStatus epicsEventTryWait ( epicsEventId pSem )
|
||||
{
|
||||
DWORD status;
|
||||
|
||||
@@ -141,6 +141,6 @@ epicsShareFunc epicsEventStatus epicsShareAPI epicsEventTryWait ( epicsEventId p
|
||||
/*
|
||||
* epicsEventShow ()
|
||||
*/
|
||||
epicsShareFunc void epicsShareAPI epicsEventShow ( epicsEventId id, unsigned level )
|
||||
epicsShareFunc void epicsEventShow ( epicsEventId id, unsigned level )
|
||||
{
|
||||
}
|
||||
|
||||
@@ -94,6 +94,7 @@ epicsShareFunc epicsEventStatus epicsEventTrigger(epicsEventId pevent)
|
||||
}
|
||||
status = pthread_mutex_unlock(&pevent->mutex);
|
||||
checkStatusReturn(status, "pthread_mutex_unlock", "epicsEventTrigger");
|
||||
return epicsEventOK;
|
||||
}
|
||||
|
||||
epicsShareFunc epicsEventStatus epicsEventWait(epicsEventId pevent)
|
||||
|
||||
Reference in New Issue
Block a user