summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/apr/Thread.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/apr/Thread.cpp')
-rw-r--r--cpp/src/qpid/apr/Thread.cpp29
1 files changed, 2 insertions, 27 deletions
diff --git a/cpp/src/qpid/apr/Thread.cpp b/cpp/src/qpid/apr/Thread.cpp
index 6d5cadb009..b26583d4c5 100644
--- a/cpp/src/qpid/apr/Thread.cpp
+++ b/cpp/src/qpid/apr/Thread.cpp
@@ -16,40 +16,15 @@
*
*/
-#include "Thread.h"
-#include "APRPool.h"
-#include "APRBase.h"
-#include <apr-1/apr_portable.h>
+#include <qpid/sys/Thread.h>
using namespace qpid::sys;
using qpid::sys::Runnable;
-namespace {
-void* APR_THREAD_FUNC run(apr_thread_t* thread, void *data) {
+void* APR_THREAD_FUNC Thread::runRunnable(apr_thread_t* thread, void *data) {
reinterpret_cast<Runnable*>(data)->run();
CHECK_APR_SUCCESS(apr_thread_exit(thread, APR_SUCCESS));
return NULL;
}
-}
-Thread::Thread() : thread(0) {}
-Thread::Thread(Runnable* runnable) {
- CHECK_APR_SUCCESS(
- apr_thread_create(&thread, NULL, run, runnable, APRPool::get()));
-}
-
-void Thread::join(){
- apr_status_t status;
- if (thread != 0)
- CHECK_APR_SUCCESS(apr_thread_join(&status, thread));
-}
-
-Thread::Thread(apr_thread_t* t) : thread(t) {}
-
-Thread Thread::current(){
- apr_thread_t* thr;
- apr_os_thread_t osthr = apr_os_thread_current();
- CHECK_APR_SUCCESS(apr_os_thread_put(&thr, &osthr, APRPool::get()));
- return Thread(thr);
-}