From 1454f42a2737fd476531a1476653f16ffcf7bb9f Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 1 Feb 2018 11:19:08 -0600 Subject: [PATCH 1/4] Config fix for parallel builds with MSVC 2015 and later From Mark Rivers and Freddie Akeroyd. --- configure/os/CONFIG.win32-x86.win32-x86 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/configure/os/CONFIG.win32-x86.win32-x86 b/configure/os/CONFIG.win32-x86.win32-x86 index 863841923..f5b21cc2e 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86 +++ b/configure/os/CONFIG.win32-x86.win32-x86 @@ -142,6 +142,17 @@ STATIC_LDLIBS_NO= STATIC_LDFLAGS= RANLIB= +# +# option needed for parallel builds with Visual Studio 2015 onward +# +# -FS Force Synchronous PDB Writes +ifneq ($(VisualStudioVersion),) + OPT_CXXFLAGS_NO += -FS + OPT_CFLAGS_NO += -FS +endif + + +# # add -profile here to run the ms profiler # -LTCG whole program optimization # -incremental:no full linking From 734d16291fec37b5517cf15fd134cce0f5c9a4ef Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 1 Feb 2018 09:42:51 -0800 Subject: [PATCH 2/4] rsrv: buffer for IP too small An IPv4 address and port number has 21 characters max. --- src/rsrv/online_notify.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rsrv/online_notify.c b/src/rsrv/online_notify.c index 883951dce..b7249870f 100644 --- a/src/rsrv/online_notify.c +++ b/src/rsrv/online_notify.c @@ -72,7 +72,7 @@ void rsrv_online_notify_task(void *pParm) char * pStr; int autoBeaconAddr; ELLLIST autoAddrList; - char buf[16]; + char buf[22]; unsigned priorityOfUDP; epicsThreadBooleanStatus tbs; epicsThreadId tid; From 713c2d5080102daa12bea10e27edfb4a373e4d5e Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 2 Feb 2018 17:47:35 -0600 Subject: [PATCH 3/4] Fix for lp: #1747091 generalTimeGetEvent() --- src/libCom/osi/epicsGeneralTime.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libCom/osi/epicsGeneralTime.c b/src/libCom/osi/epicsGeneralTime.c index 98c5566f7..c3dcc7646 100644 --- a/src/libCom/osi/epicsGeneralTime.c +++ b/src/libCom/osi/epicsGeneralTime.c @@ -269,7 +269,7 @@ static int generalTimeGetEventPriority(epicsTimeStamp *pDest, int eventNumber, } } } else { - if (epicsTimeGreaterThanEqual(pDest, + if (epicsTimeGreaterThanEqual(&ts, >Pvt.eventTime[eventNumber])) { *pDest = ts; gtPvt.eventTime[eventNumber] = ts; @@ -279,7 +279,6 @@ static int generalTimeGetEventPriority(epicsTimeStamp *pDest, int eventNumber, key = epicsInterruptLock(); gtPvt.ErrorCounts++; epicsInterruptUnlock(key); - } IFDEBUG(10) { char last[40], buff[40]; @@ -291,6 +290,7 @@ static int generalTimeGetEventPriority(epicsTimeStamp *pDest, int eventNumber, " %s, using %s instead\n", ptp->name, buff, last); } + } } break; } From de442e9584d9214533e5e90af4270e34fd45d947 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 5 Feb 2018 12:02:13 -0600 Subject: [PATCH 4/4] Fix for LP: #1743076 Never zero the CA client context private ID. --- src/ca/access.cpp | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/ca/access.cpp b/src/ca/access.cpp index 74f74325a..e701c5b00 100644 --- a/src/ca/access.cpp +++ b/src/ca/access.cpp @@ -127,21 +127,10 @@ const char * ca_message_text [] static epicsThreadOnceId caClientContextIdOnce = EPICS_THREAD_ONCE_INIT; -extern "C" void ca_client_exit_handler (void *) -{ - if ( caClientContextId ) { - epicsThreadPrivateDelete ( caClientContextId ); - caClientContextId = 0; - } -} - // runs once only for each process extern "C" void ca_init_client_context ( void * ) { caClientContextId = epicsThreadPrivateCreate (); - if ( caClientContextId ) { - epicsAtExit ( ca_client_exit_handler,0 ); - } } /*