diff --git a/src/libCom/timer/epicsTimer.h b/src/libCom/timer/epicsTimer.h index 2b666ef3d..311072d1f 100644 --- a/src/libCom/timer/epicsTimer.h +++ b/src/libCom/timer/epicsTimer.h @@ -57,8 +57,8 @@ public: virtual expireInfo getExpireInfo () const = 0; double getExpireDelay (); virtual void show ( unsigned int level ) const = 0; -private: - ~epicsTimer (); // intentionally not implemented ( see destroy ) +protected: + virtual ~epicsTimer (); }; class epicsTimerQueue { diff --git a/src/libCom/timer/timerPrivate.h b/src/libCom/timer/timerPrivate.h index 193eae167..b3ef5c8bf 100644 --- a/src/libCom/timer/timerPrivate.h +++ b/src/libCom/timer/timerPrivate.h @@ -51,8 +51,8 @@ public: void destroyTimerForC ( epicsTimerForC & ); protected: timer ( class timerQueue & ); + ~timer (); private: - ~timer (); // intentionally not implemented ( see destroy ) enum state { statePending = 45, stateLimbo = 78 }; epicsTime exp; // experation time state curState; // current state @@ -67,11 +67,12 @@ struct epicsTimerForC : public epicsTimerNotify, public timer { public: epicsTimerForC ( timerQueue &, epicsTimerCallback, void *pPrivateIn ); void destroy (); +protected: + ~epicsTimerForC (); // intentionally not implemented ( see destroy ) private: epicsTimerCallback pCallBack; void * pPrivate; expireStatus expire ( const epicsTime & currentTime ); - ~epicsTimerForC (); // intentionally not implemented ( see destroy ) }; class timerQueue {