summaryrefslogtreecommitdiff
path: root/cpp/test/IceUtil/timer/Client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/IceUtil/timer/Client.cpp')
-rw-r--r--cpp/test/IceUtil/timer/Client.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/cpp/test/IceUtil/timer/Client.cpp b/cpp/test/IceUtil/timer/Client.cpp
index 382a95175d1..d1e4a2ed474 100644
--- a/cpp/test/IceUtil/timer/Client.cpp
+++ b/cpp/test/IceUtil/timer/Client.cpp
@@ -28,7 +28,7 @@ public:
}
virtual void
- run()
+ runTimerTask()
{
Lock sync(*this);
++_count;
@@ -83,6 +83,13 @@ public:
}
}
+ void
+ clear()
+ {
+ _run = IceUtil::Time();
+ _count = 0;
+ }
+
private:
IceUtil::Time _run;
@@ -101,19 +108,20 @@ int main(int argc, char* argv[])
TestTaskPtr task = new TestTask();
timer->schedule(task, IceUtil::Time());
task->waitForRun();
+ task->clear();
while(true)
{
- TestTaskPtr task = new TestTask();
- timer->schedule(task, IceUtil::Time::milliSeconds(-10));
try
{
+ timer->schedule(task, IceUtil::Time::milliSeconds(-10));
timer->schedule(task, IceUtil::Time());
- test(task->hasRun());
}
catch(const IceUtil::IllegalArgumentException&)
{
break;
}
+ task->waitForRun();
+ task->clear();
}
}