diff options
Diffstat (limited to 'cpp/src/qpid/apr/Thread.cpp')
-rw-r--r-- | cpp/src/qpid/apr/Thread.cpp | 29 |
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); -} |