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:
Andrew Johnson
2011-02-08 14:17:47 -06:00
parent 77192b3228
commit 072b449bb1
4 changed files with 21 additions and 19 deletions
+1
View File
@@ -35,6 +35,7 @@ Reworked the epicsEvent C &amp; 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
View File
@@ -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
+9 -9
View File
@@ -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 )
{
}
+1
View File
@@ -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)