From cf3000d8df284ea7b45916faee6736e2f9e9cd0d Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Fri, 22 Mar 2002 21:18:45 +0000 Subject: [PATCH] use singleton for epics timer queue manager --- src/libCom/timer/epicsTimer.cpp | 5 +++-- src/libCom/timer/timerPrivate.h | 2 +- src/libCom/timer/timerQueueActive.cpp | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/libCom/timer/epicsTimer.cpp b/src/libCom/timer/epicsTimer.cpp index 207888fe3..daf451094 100644 --- a/src/libCom/timer/epicsTimer.cpp +++ b/src/libCom/timer/epicsTimer.cpp @@ -76,7 +76,7 @@ epicsTimerQueueActiveForC::~epicsTimerQueueActiveForC () void epicsTimerQueueActiveForC::release () { - queueMgr.release ( *this ); + pTimerQueueMgrEPICS->release ( *this ); } epicsTimerQueuePassiveForC::epicsTimerQueuePassiveForC @@ -144,7 +144,8 @@ extern "C" epicsTimerQueueId epicsShareAPI epicsTimerQueueAllocate ( int okToShare, unsigned int threadPriority ) { try { - epicsTimerQueueActiveForC &tmr = queueMgr.allocate ( okToShare ? true : false, threadPriority ); + epicsTimerQueueActiveForC &tmr = + pTimerQueueMgrEPICS->allocate ( okToShare ? true : false, threadPriority ); return &tmr; } catch ( ... ) { diff --git a/src/libCom/timer/timerPrivate.h b/src/libCom/timer/timerPrivate.h index 820d8457b..8dc87afa0 100644 --- a/src/libCom/timer/timerPrivate.h +++ b/src/libCom/timer/timerPrivate.h @@ -160,7 +160,7 @@ private: timerQueueActiveMgr & operator = ( const timerQueueActiveMgr & ); }; -extern timerQueueActiveMgr queueMgr; +extern epicsSingleton < timerQueueActiveMgr > pTimerQueueMgrEPICS; class timerQueuePassive : public epicsTimerQueuePassive { public: diff --git a/src/libCom/timer/timerQueueActive.cpp b/src/libCom/timer/timerQueueActive.cpp index b99001816..c504f1e4b 100644 --- a/src/libCom/timer/timerQueueActive.cpp +++ b/src/libCom/timer/timerQueueActive.cpp @@ -31,13 +31,13 @@ #define epicsExportSharedSymbols #include "timerPrivate.h" -timerQueueActiveMgr queueMgr; +epicsSingleton < timerQueueActiveMgr > pTimerQueueMgrEPICS; epicsTimerQueueActive::~epicsTimerQueueActive () {} epicsTimerQueueActive &epicsTimerQueueActive::allocate ( bool okToShare, unsigned threadPriority ) { - return queueMgr.allocate ( okToShare, threadPriority ); + return pTimerQueueMgrEPICS->allocate ( okToShare, threadPriority ); } timerQueueActive::timerQueueActive ( bool okToShareIn, unsigned priority ) :