diff options
author | Adam <Adam@anope.org> | 2010-07-15 22:55:02 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-07-15 22:55:02 -0400 |
commit | a22f8d3b2de88b9bb6f80f0c2780846ae23ab389 (patch) | |
tree | a2fdf570868896a787df8a1169951b0028e68d6b /src/threadengine_pthread.cpp | |
parent | 43b1e43afb85639485e36d24da351dc0f121be6e (diff) |
Moved some files and diretories around, made cmake skip files it knows it can't compile because of missing dependices.
Diffstat (limited to 'src/threadengine_pthread.cpp')
-rw-r--r-- | src/threadengine_pthread.cpp | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/src/threadengine_pthread.cpp b/src/threadengine_pthread.cpp deleted file mode 100644 index a85af583e..000000000 --- a/src/threadengine_pthread.cpp +++ /dev/null @@ -1,108 +0,0 @@ -#include "services.h" - -/* Threadengine attributes used by this thread engine */ -static pthread_attr_t threadengine_attr; - -/** Entry point used for the threads - * @param parameter A Thread* cast to a void* - */ -static void *entry_point(void *parameter) -{ - Thread *thread = static_cast<Thread *>(parameter); - thread->Run(); - if (!thread->GetExitState()) - thread->Join(); - delete thread; - pthread_exit(0); -} - -/** Threadengines constructor - */ -ThreadEngine::ThreadEngine() -{ - if (pthread_attr_init(&threadengine_attr)) - throw CoreException("ThreadEngine: Error calling pthread_attr_init"); -} - -/** Threadengines destructor - */ -ThreadEngine::~ThreadEngine() -{ - pthread_attr_destroy(&threadengine_attr); -} - -/** Join to the thread, sets the exit state to true - */ -void Thread::Join() -{ - SetExitState(); - pthread_join(Handle, NULL); -} - -/** Start a new thread - * @param thread A pointer to a newley allocated thread - */ -void ThreadEngine::Start(Thread *thread) -{ - if (pthread_create(&thread->Handle, &threadengine_attr, entry_point, thread)) - { - delete thread; - throw CoreException("Unable to create thread: " + std::string(strerror(errno))); - } -} - -/** Constructor - */ -Mutex::Mutex() -{ - pthread_mutex_init(&mutex, NULL); -} - -/** Destructor - */ -Mutex::~Mutex() -{ - pthread_mutex_destroy(&mutex); -} - -/** Attempt to lock the mutex, will hang until a lock can be achieved - */ -void Mutex::Lock() -{ - pthread_mutex_lock(&mutex); -} - -/** Unlock the mutex, it must be locked first - */ -void Mutex::Unlock() -{ - pthread_mutex_unlock(&mutex); -} - -/** Constructor - */ -Condition::Condition() : Mutex() -{ - pthread_cond_init(&cond, NULL); -} - -/** Destructor - */ -Condition::~Condition() -{ - pthread_cond_destroy(&cond); -} - -/** Called to wakeup the waiter - */ -void Condition::Wakeup() -{ - pthread_cond_signal(&cond); -} - -/** Called to wait for a Wakeup() call - */ -void Condition::Wait() -{ - pthread_cond_wait(&cond, &mutex); -} |