summaryrefslogtreecommitdiff
path: root/src/threadengine_pthread.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-07-15 22:55:02 -0400
committerAdam <Adam@anope.org>2010-07-15 22:55:02 -0400
commita22f8d3b2de88b9bb6f80f0c2780846ae23ab389 (patch)
treea2fdf570868896a787df8a1169951b0028e68d6b /src/threadengine_pthread.cpp
parent43b1e43afb85639485e36d24da351dc0f121be6e (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.cpp108
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);
-}