diff --git a/src/as/asCa.c b/src/as/asCa.c index c205d34d5..9ac266521 100644 --- a/src/as/asCa.c +++ b/src/as/asCa.c @@ -175,7 +175,7 @@ LOCAL void asCaTask(void) int status; taskwdInsert(epicsThreadGetIdSelf(),NULL,NULL); - SEVCHK(ca_context_create(enablePreemption,1024), + SEVCHK(ca_context_create(enablePreemption), "asCaTask calling ca_context_create"); SEVCHK(ca_add_exception_event(exceptionCallback,NULL), "ca_add_exception_event"); diff --git a/src/ca/access.cpp b/src/ca/access.cpp index 90a0cdd16..50c9d0290 100644 --- a/src/ca/access.cpp +++ b/src/ca/access.cpp @@ -88,11 +88,10 @@ int fetchClientContext ( oldCAC **ppcac ) */ extern "C" int epicsShareAPI ca_task_initialize ( void ) { - return ca_context_create ( false, 32768 ); + return ca_context_create ( false ); } -extern "C" int epicsShareAPI ca_context_create ( - int preemptiveCallBackEnable, unsigned maxNumberOfChannels ) +extern "C" int epicsShareAPI ca_context_create ( int preemptiveCallBackEnable ) { oldCAC *pcac; @@ -102,12 +101,12 @@ extern "C" int epicsShareAPI ca_context_create ( return ECA_ALLOCMEM; } - pcac = (oldCAC *) epicsThreadPrivateGet ( caClientContextId ); + pcac = ( oldCAC * ) epicsThreadPrivateGet ( caClientContextId ); if ( pcac ) { return ECA_NORMAL; } - pcac = new oldCAC ( preemptiveCallBackEnable ? true : false, maxNumberOfChannels ); + pcac = new oldCAC ( preemptiveCallBackEnable ? true : false ); if ( ! pcac ) { return ECA_ALLOCMEM; } diff --git a/src/db/dbCa.c b/src/db/dbCa.c index 23671b4ac..d5877dad0 100644 --- a/src/db/dbCa.c +++ b/src/db/dbCa.c @@ -648,7 +648,7 @@ void dbCaTask() int status; taskwdInsert(epicsThreadGetIdSelf(),NULL,NULL); - SEVCHK(ca_context_create(enablePreemption,32768), + SEVCHK(ca_context_create(enablePreemption), "dbCaTask calling ca_context_create"); SEVCHK(ca_add_exception_event(exceptionCallback,NULL), "ca_add_exception_event"); diff --git a/src/db/dbServiceIO.cpp b/src/db/dbServiceIO.cpp index 2bfd3850e..00daf64d9 100644 --- a/src/db/dbServiceIO.cpp +++ b/src/db/dbServiceIO.cpp @@ -52,7 +52,7 @@ dbServiceIOLoadTimeInit::dbServiceIOLoadTimeInit () } dbServiceIO::dbServiceIO () : - ioTable ( 1024 ), eventCallbackCacheSize ( 0ul ), + eventCallbackCacheSize ( 0ul ), ctx ( 0 ), pEventCallbackCache ( 0 ) { } diff --git a/src/libCom/fdmgr/fdManager.cpp b/src/libCom/fdmgr/fdManager.cpp index 0e3477800..2ddfaef25 100644 --- a/src/libCom/fdmgr/fdManager.cpp +++ b/src/libCom/fdmgr/fdManager.cpp @@ -80,18 +80,17 @@ epicsShareDef fdManager fileDescriptorManager; // inline const unsigned fdRegId::minIndexBitWidth () { - return hashTableIndexBits; + return fdManagerHashTableMinIndexBits; } inline const unsigned fdRegId::maxIndexBitWidth () { - return sizeof(SOCKET)*CHAR_BIT; + return fdManagerHashTableMaxIndexBits; } // // fdManager::fdManager() // -epicsShareFunc fdManager::fdManager () : - fdTbl ( 1<fd == idIn.fd && this->type==idIn.type; } - resTableIndex hash (unsigned nBitsId) const; + resTableIndex hash () const; static const unsigned minIndexBitWidth (); static const unsigned maxIndexBitWidth (); @@ -175,15 +173,18 @@ private: fdManager &manager; }; +static const unsigned fdManagerHashTableMinIndexBits = 8; +static const unsigned fdManagerHashTableMaxIndexBits = sizeof(SOCKET)*CHAR_BIT; + // // fdRegId::hash() // -inline resTableIndex fdRegId::hash (unsigned) const +inline resTableIndex fdRegId::hash () const { resTableIndex hashid; - hashid = intId - ::hashEngine(this->fd); + hashid = integerHash < fdManagerHashTableMinIndexBits, + fdManagerHashTableMaxIndexBits > ( this->fd ); // // also evenly distribute based on the type of fdRegType diff --git a/src/libCom/fdmgr/fdmgr.cpp b/src/libCom/fdmgr/fdmgr.cpp index 26c5b6fca..9954b7299 100644 --- a/src/libCom/fdmgr/fdmgr.cpp +++ b/src/libCom/fdmgr/fdmgr.cpp @@ -149,9 +149,7 @@ epicsTimerNotify::expireStatus timerForOldFdmgr::expire ( const epicsTime & ) return noRestart; } -oldFdmgr::oldFdmgr () : resTbl (1024) -{ -} +oldFdmgr::oldFdmgr () {} extern "C" epicsShareFunc fdctx * epicsShareAPI fdmgr_init (void) {