-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTimerThread.cpp
More file actions
55 lines (43 loc) · 967 Bytes
/
TimerThread.cpp
File metadata and controls
55 lines (43 loc) · 967 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include "TimerThread.h"
#include "ActivityServantImp.h"
TimerThread::TimerThread( )
{
m_bShutdown = false;
m_iInterval = 20;
m_servant = NULL;
}
TimerThread::~TimerThread()
{
terminate();
}
void TimerThread::initialize(tars::Servant *p)
{
m_servant = (ActivityServantImp *)p;
}
void TimerThread::terminate()
{
if (!isAlive())
return;
m_bShutdown = true;
LOG_DEBUG << "TimerThread terminated." << endl;
// TC_ThreadLock::Lock sync(*this);
// notifyAll();
}
void TimerThread::run()
{
LOG_DEBUG << "TimerThread start." << endl;
while (!m_bShutdown)
{
__TRY__
sleep(m_iInterval);
{
TC_ThreadLock::Lock sync(*this);
if (m_servant)
{
m_servant->getHandle()->notifyFilter();
}
}
__CATCH__
}
LOG_DEBUG << "TimerThread end." << endl;
}