Merged changes from 3.14 branch to revno 12703

This commit is contained in:
Andrew Johnson
2017-03-06 15:40:28 -06:00
3 changed files with 44 additions and 40 deletions

View File

@@ -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
#---------------------------------------------------------------

View File

@@ -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 );
}

View File

@@ -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)