From d32332d5458fdb81a2f113c48a96c22ae69c67c3 Mon Sep 17 00:00:00 2001 From: Robert Soliday Date: Thu, 27 Aug 2015 11:34:41 -0500 Subject: [PATCH 1/5] libCom/test: Fix for MSVS 2015 --- src/libCom/test/epicsExceptionTest.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libCom/test/epicsExceptionTest.cpp b/src/libCom/test/epicsExceptionTest.cpp index 53f56c32d..e69f7e927 100644 --- a/src/libCom/test/epicsExceptionTest.cpp +++ b/src/libCom/test/epicsExceptionTest.cpp @@ -35,7 +35,9 @@ const nothrow_t nothrow ; #if defined ( _MSC_VER ) // some interesting bugs found in the MS implementation of new -# if _MSC_VER > 1310 /* this gets fixed some release after visual studio 7 we hope */ +# if _MSC_VER >= 1900 + static size_t unsuccessfulNewSize = numeric_limits < size_t > :: max (); +# elif _MSC_VER > 1310 /* this gets fixed some release after visual studio 7 we hope */ static const size_t unsuccessfulNewSize = numeric_limits < size_t > :: max (); # else static const size_t unsuccessfulNewSize = numeric_limits < size_t > :: max () - 100; From a9c4d59537e21d2d069749ff9135f65ed39ba080 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 31 Aug 2015 11:52:32 -0500 Subject: [PATCH 2/5] Applied Ambroz Bizjak's timerQueueActive.patch --- src/libCom/timer/epicsTimer.cpp | 8 ++++---- src/libCom/timer/timerPrivate.h | 8 ++++---- src/libCom/timer/timerQueueActive.cpp | 12 ++++++++---- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/libCom/timer/epicsTimer.cpp b/src/libCom/timer/epicsTimer.cpp index 7cdc30bd3..1acdc08c6 100644 --- a/src/libCom/timer/epicsTimer.cpp +++ b/src/libCom/timer/epicsTimer.cpp @@ -1,11 +1,10 @@ /*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne +* Copyright (c) 2015 UChicago Argonne LLC, as Operator of Argonne * National Laboratory. * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* EPICS BASE is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* * $Revision-Id$ @@ -71,6 +70,7 @@ epicsTimerQueueActiveForC :: bool okToShare, unsigned priority ) : timerQueueActive ( refMgr, okToShare, priority ) { + timerQueueActive::start(); } epicsTimerQueueActiveForC::~epicsTimerQueueActiveForC () diff --git a/src/libCom/timer/timerPrivate.h b/src/libCom/timer/timerPrivate.h index a5afc0df9..dadd8daa4 100644 --- a/src/libCom/timer/timerPrivate.h +++ b/src/libCom/timer/timerPrivate.h @@ -1,11 +1,10 @@ /*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne +* Copyright (c) 2015 UChicago Argonne LLC, as Operator of Argonne * National Laboratory. * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* EPICS BASE is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* * $Revision-Id$ @@ -136,6 +135,7 @@ class timerQueueActive : public epicsTimerQueueActive, public: typedef epicsSingleton < timerQueueActiveMgr > :: reference RefMgr; timerQueueActive ( RefMgr &, bool okToShare, unsigned priority ); + void start (); epicsTimer & createTimer (); epicsTimerForC & createTimerForC ( epicsTimerCallback pCallback, void *pArg ); void show ( unsigned int level ) const; diff --git a/src/libCom/timer/timerQueueActive.cpp b/src/libCom/timer/timerQueueActive.cpp index a1c25f4a0..6225b11a0 100644 --- a/src/libCom/timer/timerQueueActive.cpp +++ b/src/libCom/timer/timerQueueActive.cpp @@ -1,13 +1,13 @@ /*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne +* Copyright (c) 2015 UChicago Argonne LLC, as Operator of Argonne * National Laboratory. * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* EPICS BASE is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* + * $Revision-Id$ * * Author Jeffrey O. Hill * johill@lanl.gov @@ -49,6 +49,10 @@ timerQueueActive :: epicsThreadGetStackSize ( epicsThreadStackMedium ), priority ), sleepQuantum ( epicsThreadSleepQuantum() ), okToShare ( okToShareIn ), exitFlag ( false ), terminateFlag ( false ) +{ +} + +void timerQueueActive::start () { this->thread.start (); } From 53bf7cd994edc122f36f8139fff16df434446210 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 31 Aug 2015 11:54:04 -0500 Subject: [PATCH 3/5] Applied Ambroz Bizjak's epicsSingletonMutex.patch --- src/libCom/cxxTemplates/epicsSingletonMutex.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libCom/cxxTemplates/epicsSingletonMutex.cpp b/src/libCom/cxxTemplates/epicsSingletonMutex.cpp index c29980785..bcf2b17f9 100644 --- a/src/libCom/cxxTemplates/epicsSingletonMutex.cpp +++ b/src/libCom/cxxTemplates/epicsSingletonMutex.cpp @@ -52,9 +52,9 @@ void SingletonUntyped :: incrRefCount ( PBuild pBuild ) void SingletonUntyped :: decrRefCount ( PDestroy pDestroy ) { - assert ( _refCount > 0 ); epicsGuard < epicsMutex > guard ( *pEPICSSigletonMutex ); + assert ( _refCount > 0 ); _refCount--; if ( _refCount == 0 ) { ( *pDestroy ) ( _pInstance ); From bc3cbd990f9d8511858c02881d26d2127543ad88 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 31 Aug 2015 12:11:30 -0500 Subject: [PATCH 4/5] Applied Ambroz Bizjak's freeListItemsAvail.patch --- src/libCom/freeList/freeListLib.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libCom/freeList/freeListLib.c b/src/libCom/freeList/freeListLib.c index 3ddd1331c..5e07ba9c3 100644 --- a/src/libCom/freeList/freeListLib.c +++ b/src/libCom/freeList/freeListLib.c @@ -148,6 +148,10 @@ epicsShareFunc void epicsShareAPI freeListCleanup(void *pvt) epicsShareFunc size_t epicsShareAPI freeListItemsAvail(void *pvt) { FREELISTPVT *pfl = pvt; - return pfl->nBlocksAvailable; + size_t nBlocksAvailable; + epicsMutexMustLock(pfl->lock); + nBlocksAvailable = pfl->nBlocksAvailable; + epicsMutexUnlock(pfl->lock); + return nBlocksAvailable; } From 5aa145920dd4bf789c5a93ff9dbee0db0c0a17d2 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Wed, 16 Sep 2015 13:56:52 +0200 Subject: [PATCH 5/5] rec: fix promptgroups for biRecord --- src/rec/biRecord.dbd | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rec/biRecord.dbd b/src/rec/biRecord.dbd index f2c94e7ee..e3468e1e9 100644 --- a/src/rec/biRecord.dbd +++ b/src/rec/biRecord.dbd @@ -29,28 +29,28 @@ recordtype(bi) { } field(OSV,DBF_MENU) { prompt("One Error Severity") - promptgroup(GUI_BITS1) + promptgroup(GUI_ALARMS) pp(TRUE) interest(1) menu(menuAlarmSevr) } field(COSV,DBF_MENU) { prompt("Change of State Svr") - promptgroup(GUI_BITS2) + promptgroup(GUI_ALARMS) pp(TRUE) interest(1) menu(menuAlarmSevr) } field(ZNAM,DBF_STRING) { prompt("Zero Name") - promptgroup(GUI_CALC) + promptgroup(GUI_DISPLAY) pp(TRUE) interest(1) size(26) } field(ONAM,DBF_STRING) { prompt("One Name") - promptgroup(GUI_CLOCK) + promptgroup(GUI_DISPLAY) pp(TRUE) interest(1) size(26)