summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPixel <pixel@nobis-crew.org>2012-04-06 11:03:57 -0700
committerPixel <pixel@nobis-crew.org>2012-04-06 11:03:57 -0700
commit64de8836d4924862d6cc352f250b802e346c29be (patch)
treee10b292b82f49f65e82a6062d811c0850019f67c
parente4931a41aabe7931fe4f57835266d2a121008ce3 (diff)
Improving a bit the way threaded task managers are being stopped.
-rw-r--r--includes/TaskMan.h5
-rw-r--r--tests/test-Http.cc7
2 files changed, 7 insertions, 5 deletions
diff --git a/includes/TaskMan.h b/includes/TaskMan.h
index 6c446b7..68aaaf6 100644
--- a/includes/TaskMan.h
+++ b/includes/TaskMan.h
@@ -47,6 +47,11 @@ class TaskMan {
r->threadStart();
return r;
}
+ static void stopThreadedTaskMan(TaskManThread * tmt) {
+ tmt->stopMe(0);
+ tmt->join();
+ delete tmt;
+ }
bool stopped() { return m_stopped; }
template<class T>
static T * createTask(T * t, Task * stick = NULL) { TaskMan::registerTask(t, stick); return t; }
diff --git a/tests/test-Http.cc b/tests/test-Http.cc
index 9d4d0e3..bd0ef49 100644
--- a/tests/test-Http.cc
+++ b/tests/test-Http.cc
@@ -146,11 +146,8 @@ void MainTask::Do() {
s->stop();
- for (int i = 0; i < NTHREADS; i++) {
- tms[i]->stopMe();
- tms[i]->join();
- delete tms[i];
- }
+ for (int i = 0; i < NTHREADS; i++)
+ TaskMan::stopThreadedTaskMan(tms[i]);
Printer::log(M_STATUS, "Test::Http passed.");
}