diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index 2be4b338a..370fd36c1 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -4,7 +4,7 @@ # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. # EPICS BASE is distributed subject to a Software License Agreement found -# in the file LICENSE that is included with this distribution. +# in the file LICENSE that is included with this distribution. #************************************************************************* # # Rules for making things specified in Makefile @@ -118,7 +118,7 @@ TAPFILES += $(TESTSCRIPTS:.t=.tap) endif #--------------------------------------------------------------- -# Libraries +# Libraries # LIBTARGETS += $(LIBNAME) $(INSTALL_LIBS) $(TESTLIBNAME) \ @@ -129,16 +129,16 @@ LIBTARGETS += $(LIBNAME) $(INSTALL_LIBS) $(TESTLIBNAME) \ # Main targets -install: buildInstall +install: buildInstall -buildInstall : build +buildInstall: build # Allows rebuild to work with parallel builds option, -j. install: $(patsubst rebuild,clean,$(filter rebuild,$(MAKECMDGOALS))) rebuild: clean install -build : inc +build: inc build: $(OBJSNAME) $(LIBTARGETS) $(PRODTARGETS) $(TESTPRODNAME) \ $(TARGETS) $(TESTSCRIPTS) $(INSTALL_LIB_INSTALLS) @@ -188,7 +188,7 @@ warnRelease: -$(CONVERTRELEASE) checkRelease noCheckRelease: ifeq ($(EPICS_HOST_ARCH),$(T_A)) - @echo "Warning: RELEASE file consistency checks have been disabled" + $(info Warning: RELEASE file consistency checks have been disabled) endif #--------------------------------------------------------------- diff --git a/src/ca/client/cac.cpp b/src/ca/client/cac.cpp index d1afe6785..bdfc68c73 100644 --- a/src/ca/client/cac.cpp +++ b/src/ca/client/cac.cpp @@ -635,11 +635,13 @@ void cac::transferChanToVirtCircuit ( // must occur before moving to new iiu pChan->getPIIU(guard)->uninstallChanDueToSuccessfulSearchResponse ( guard, *pChan, currentTime ); - piiu->installChannel ( - guard, *pChan, sid, typeCode, count ); + if ( piiu ) { + piiu->installChannel ( + guard, *pChan, sid, typeCode, count ); - if ( newIIU ) { - piiu->start ( guard ); + if ( newIIU ) { + piiu->start ( guard ); + } } } @@ -1304,9 +1306,11 @@ void cac::pvMultiplyDefinedNotify ( msgForMultiplyDefinedPV & mfmdpv, callbackManager mgr ( this->notify, this->cbMutex ); epicsGuard < epicsMutex > guard ( this->mutex ); this->exception ( mgr.cbGuard, guard, ECA_DBLCHNL, buf, __FILE__, __LINE__ ); + + // remove from the list under lock + this->msgMultiPVList.remove ( mfmdpv ); } - // remove from the list and delete msg object - this->msgMultiPVList.remove ( mfmdpv ); + // delete msg object mfmdpv.~msgForMultiplyDefinedPV (); this->mdpvFreeList.release ( & mfmdpv ); } diff --git a/src/ioc/db/dbConvert.c b/src/ioc/db/dbConvert.c index 0fad81d5a..6ea323549 100644 --- a/src/ioc/db/dbConvert.c +++ b/src/ioc/db/dbConvert.c @@ -5,7 +5,7 @@ * 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. +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* dbConvert.c */ /* @@ -582,7 +582,7 @@ static long getCharFloat( } return 0; } - + static long getCharDouble( const dbAddr *paddr, void *pto, long nRequest, long no_elements, long offset) @@ -783,7 +783,7 @@ static long getUcharFloat( } return 0; } - + static long getUcharDouble( const dbAddr *paddr, void *pto, long nRequest, long no_elements, long offset) @@ -984,7 +984,7 @@ static long getShortFloat( } return 0; } - + static long getShortDouble( const dbAddr *paddr, void *pto, long nRequest, long no_elements, long offset) @@ -1184,7 +1184,7 @@ static long getUshortFloat( } return 0; } - + static long getUshortDouble( const dbAddr *paddr, void *pto, long nRequest, long no_elements, long offset) @@ -1385,7 +1385,7 @@ static long getLongFloat( } return 0; } - + static long getLongDouble( const dbAddr *paddr, void *pto, long nRequest, long no_elements, long offset) @@ -1586,7 +1586,7 @@ static long getUlongFloat( } return 0; } - + static long getUlongDouble( const dbAddr *paddr, void *pto, long nRequest, long no_elements, long offset) @@ -1636,7 +1636,7 @@ static long getFloatString( char *pbuffer = (char *) pto; float *psrc = (float *) paddr->pfield; long status = 0; - int precision = 6; + long precision = 6; struct rset *prset = 0; if (paddr) prset = dbGetRset(paddr); @@ -1799,7 +1799,7 @@ static long getFloatFloat( COPYNOCONVERT(sizeof(float), paddr->pfield, pto, nRequest, no_elements, offset); return 0; } - + static long getFloatDouble( const dbAddr *paddr, void *pto, long nRequest, long no_elements, long offset) @@ -1848,8 +1848,8 @@ static long getDoubleString( { char *pbuffer = (char *) pto; double *psrc = (double *) paddr->pfield; - long status = 0; - int precision = 6; + long status = 0; + long precision = 6; struct rset *prset = 0; if (paddr) prset = dbGetRset(paddr); @@ -2019,7 +2019,7 @@ static long getDoubleFloat( } return 0; } - + static long getDoubleDouble( const dbAddr *paddr, void *pto, long nRequest, long no_elements, long offset) @@ -2217,7 +2217,7 @@ static long getEnumFloat( } return 0; } - + static long getEnumDouble( const dbAddr *paddr, void *pto, long nRequest, long no_elements, long offset) @@ -2874,7 +2874,7 @@ static long putCharFloat( } return 0; } - + static long putCharDouble( dbAddr *paddr, const void *pfrom, long nRequest, long no_elements, long offset) @@ -3077,7 +3077,7 @@ static long putUcharFloat( } return 0; } - + static long putUcharDouble( dbAddr *paddr, const void *pfrom, long nRequest, long no_elements, long offset) @@ -3280,7 +3280,7 @@ static long putShortFloat( } return 0; } - + static long putShortDouble( dbAddr *paddr, const void *pfrom, long nRequest, long no_elements, long offset) @@ -3483,7 +3483,7 @@ static long putUshortFloat( } return 0; } - + static long putUshortDouble( dbAddr *paddr, const void *pfrom, long nRequest, long no_elements, long offset) @@ -3686,7 +3686,7 @@ static long putLongFloat( } return 0; } - + static long putLongDouble( dbAddr *paddr, const void *pfrom, long nRequest, long no_elements, long offset) @@ -3889,7 +3889,7 @@ static long putUlongFloat( } return 0; } - + static long putUlongDouble( dbAddr *paddr, const void *pfrom, long nRequest, long no_elements, long offset) @@ -3937,9 +3937,9 @@ static long putFloatString( const void *pfrom, long nRequest, long no_elements, long offset) { const float *pbuffer = (const float *) pfrom; - char *pdest = (char *) paddr->pfield; - long status = 0; - int precision = 6; + char *pdest = (char *) paddr->pfield; + long status = 0; + long precision = 6; struct rset *prset = dbGetRset(paddr); short size = paddr->field_size; @@ -4102,7 +4102,7 @@ static long putFloatFloat( COPYNOCONVERT(sizeof(float), pfrom, paddr->pfield, nRequest, no_elements, offset); return 0; } - + static long putFloatDouble( dbAddr *paddr, const void *pfrom, long nRequest, long no_elements, long offset) @@ -4150,9 +4150,9 @@ static long putDoubleString( const void *pfrom, long nRequest, long no_elements, long offset) { const double *pbuffer = (const double *) pfrom; - char *pdest = (char *) paddr->pfield; - long status = 0; - int precision = 6; + char *pdest = (char *) paddr->pfield; + long status = 0; + long precision = 6; struct rset *prset = dbGetRset(paddr); short size = paddr->field_size; @@ -4322,7 +4322,7 @@ static long putDoubleFloat( } return 0; } - + static long putDoubleDouble( dbAddr *paddr, const void *pfrom, long nRequest, long no_elements, long offset) @@ -4531,7 +4531,7 @@ static long putEnumFloat( } return 0; } - + static long putEnumDouble( dbAddr *paddr, const void *pfrom, long nRequest, long no_elements, long offset)