replace caLimitArray with EPICS_CA_AUTO_MAX_ARRAY_BYTES
This commit is contained in:
@@ -35,6 +35,7 @@ EPICS_CA_CONN_TMO=30.0
|
||||
EPICS_CA_REPEATER_PORT=5065
|
||||
EPICS_CA_SERVER_PORT=5064
|
||||
EPICS_CA_MAX_ARRAY_BYTES=16384
|
||||
EPICS_CA_AUTO_MAX_ARRAY_BYTES=NO
|
||||
EPICS_CA_BEACON_PERIOD=15.0
|
||||
EPICS_CA_MAX_SEARCH_PERIOD=300.0
|
||||
EPICS_CAS_BEACON_PERIOD=
|
||||
|
||||
@@ -55,14 +55,6 @@ static const char pVersionCAC[] =
|
||||
"@(#) " EPICS_VERSION_STRING
|
||||
", CA Client Library " __DATE__;
|
||||
|
||||
// when set, respect EPICS_CA_MAX_ARRAY_BYTES
|
||||
// when clear, ignore it
|
||||
extern "C" {
|
||||
epicsShareExtern int caLimitArray;
|
||||
int caLimitArray;
|
||||
epicsExportAddress(int, caLimitArray);
|
||||
}
|
||||
|
||||
// TCP response dispatch table
|
||||
const cac::pProtoStubTCP cac::tcpJumpTableCAC [] =
|
||||
{
|
||||
@@ -227,6 +219,10 @@ cac::cac (
|
||||
throw std::bad_alloc ();
|
||||
}
|
||||
|
||||
int caLimitArray;
|
||||
if(envGetBoolConfigParam(&EPICS_CA_AUTO_MAX_ARRAY_BYTES, &caLimitArray))
|
||||
caLimitArray = 0;
|
||||
|
||||
if(caLimitArray) {
|
||||
freeListInitPvt ( &this->tcpLargeRecvBufFreeList, this->maxRecvBytesTCP, 1 );
|
||||
if ( ! this->tcpLargeRecvBufFreeList ) {
|
||||
|
||||
@@ -22,6 +22,3 @@ variable(callbackParallelThreadsDefault,int)
|
||||
|
||||
# Real-time operation
|
||||
variable(dbThreadRealtimeLock,int)
|
||||
|
||||
# RSRV and dbCa (all local ca contexts)
|
||||
variable(caLimitArray, int)
|
||||
|
||||
@@ -34,9 +34,6 @@
|
||||
#include "taskwd.h"
|
||||
#include "cantProceed.h"
|
||||
|
||||
// defined in cac.cpp
|
||||
epicsShareExtern int caLimitArray;
|
||||
|
||||
#include "epicsExport.h"
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
@@ -472,6 +469,7 @@ int rsrv_init (void)
|
||||
long maxBytesAsALong;
|
||||
long status;
|
||||
SOCKET *socks;
|
||||
int caLimitArray;
|
||||
|
||||
clientQlock = epicsMutexMustCreate();
|
||||
|
||||
@@ -530,6 +528,10 @@ int rsrv_init (void)
|
||||
rsrvSizeofLargeBufTCP = maxBytes;
|
||||
}
|
||||
}
|
||||
|
||||
if(envGetBoolConfigParam(&EPICS_CA_AUTO_MAX_ARRAY_BYTES, &caLimitArray))
|
||||
caLimitArray = 0;
|
||||
|
||||
if (caLimitArray)
|
||||
freeListInitPvt ( &rsrvLargeBufFreeListTCP, rsrvSizeofLargeBufTCP, 1 );
|
||||
else
|
||||
|
||||
1
src/libCom/env/envDefs.h
vendored
1
src/libCom/env/envDefs.h
vendored
@@ -48,6 +48,7 @@ epicsShareExtern const ENV_PARAM EPICS_CA_AUTO_ADDR_LIST;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CA_REPEATER_PORT;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CA_SERVER_PORT;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CA_MAX_ARRAY_BYTES;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CA_AUTO_MAX_ARRAY_BYTES;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CA_MAX_SEARCH_PERIOD;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CA_NAME_SERVERS;
|
||||
epicsShareExtern const ENV_PARAM EPICS_CAS_INTF_ADDR_LIST;
|
||||
|
||||
Reference in New Issue
Block a user