diff --git a/src/rsrv/camessage.c b/src/rsrv/camessage.c index d42b95e90..a788d58da 100644 --- a/src/rsrv/camessage.c +++ b/src/rsrv/camessage.c @@ -43,6 +43,9 @@ typedef unsigned long arrayElementCount; #include "net_convert.h" + +#define epicsExportSharedSymbols +#include "rsrv.h" #include "server.h" #define RECORD_NAME(PADDR) ((PADDR)->precord->name) diff --git a/src/rsrv/camsgtask.c b/src/rsrv/camsgtask.c index ebe98a0b4..ac0033a13 100644 --- a/src/rsrv/camsgtask.c +++ b/src/rsrv/camsgtask.c @@ -29,6 +29,8 @@ #include "db_access.h" #include "caerr.h" +#define epicsExportSharedSymbols +#include "rsrv.h" #include "server.h" /* diff --git a/src/rsrv/caserverio.c b/src/rsrv/caserverio.c index 57ebcde9e..ae4313f59 100644 --- a/src/rsrv/caserverio.c +++ b/src/rsrv/caserverio.c @@ -31,6 +31,8 @@ typedef unsigned long arrayElementCount; #include "net_convert.h" + +#define epicsExportSharedSymbols #include "server.h" /* diff --git a/src/rsrv/caservertask.c b/src/rsrv/caservertask.c index 3766aa081..fdc4b4996 100644 --- a/src/rsrv/caservertask.c +++ b/src/rsrv/caservertask.c @@ -39,9 +39,10 @@ #include "dbEvent.h" #include "dbCommon.h" +#define epicsExportSharedSymbols +#include "rsrv.h" #define GLBLSOURCE #include "server.h" -#include "rsrv.h" #define DELETE_TASK(NAME)\ if(threadNameToId(NAME)!=0)threadDestroy(threadNameToId(NAME)); diff --git a/src/rsrv/cast_server.c b/src/rsrv/cast_server.c index 092ec0749..293cc2eea 100644 --- a/src/rsrv/cast_server.c +++ b/src/rsrv/cast_server.c @@ -46,7 +46,9 @@ #include "envDefs.h" #include "freeList.h" +#define epicsExportSharedSymbols #include "server.h" +#include "rsrv.h" #define TIMEOUT 60.0 /* sec */ diff --git a/src/rsrv/online_notify.c b/src/rsrv/online_notify.c index 875ea25ca..786906237 100644 --- a/src/rsrv/online_notify.c +++ b/src/rsrv/online_notify.c @@ -35,6 +35,7 @@ #include "addrList.h" #include "taskwd.h" +#define epicsExportSharedSymbols #include "server.h" /* diff --git a/src/rsrv/server.h b/src/rsrv/server.h index 746316844..386080f7a 100644 --- a/src/rsrv/server.h +++ b/src/rsrv/server.h @@ -18,7 +18,8 @@ #define INCLserverh #ifdef epicsExportSharedSymbols -# error suspect that libCom is being exported from rsrv? +# define rsrvRestore_epicsExportSharedSymbols +# undef epicsExportSharedSymbols #endif /* ifdef epicsExportSharedSymbols */ #include "epicsThread.h" @@ -34,8 +35,9 @@ #include "epicsTime.h" #include "epicsAssert.h" +#ifdef rsrvRestore_epicsExportSharedSymbols #define epicsExportSharedSymbols -#include "rsrv.h" +#endif #define LOCAL static @@ -70,6 +72,8 @@ struct message_buffer { enum messageBufferType type; }; +extern epicsThreadPrivateId rsrvCurrentClient; + typedef struct client { ELLNODE node; struct message_buffer send;