X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fthread.cpp;fp=source%2Fthread.cpp;h=0000000000000000000000000000000000000000;hb=e1ea831a640fba534e7e42e399f04cdf681ef8d3;hp=6858ce9999b8ba2211db353802acfa2750811125;hpb=0bcb8d4d6f33cbdad7b921cac787740bfe8e212e;p=libs%2Fcore.git diff --git a/source/thread.cpp b/source/thread.cpp deleted file mode 100644 index 6858ce9..0000000 --- a/source/thread.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* -This file is part of libmspframework -Copyright © 2006 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ -#ifndef WIN32 -#include -#endif -#include "thread.h" - -namespace Msp { - -/** -Waits for the thread to exit. Calling this from the thread will cause a -deadlock. -*/ -void Thread::join() -{ - if(!launched_) - return; - -#ifdef WIN32 - WaitForSingleObject(thread_, INFINITE); -#else - pthread_join(thread_, 0); -#endif - launched_=false; -} - -/** -Requests the thread to terminate gracefully. Currently unimplemented on win32. -*/ -void Thread::cancel() -{ -#ifndef WIN32 //XXX - pthread_cancel(thread_); -#endif -} - -/** -Violently terminates the thread. -*/ -void Thread::kill() -{ -#ifdef WIN32 - TerminateThread(thread_, 0); -#else - pthread_kill(thread_, SIGKILL); -#endif -} - -Thread::~Thread() -{ - if(launched_) - kill(); -} - -void Thread::launch() -{ - if(launched_) - return; - -#ifdef WIN32 - DWORD dummy; // Win9x needs the lpTthreadId parameter - thread_=CreateThread(0, 0, &main_, this, 0, &dummy); -#else - pthread_create(&thread_, 0, &main_, this); -#endif - launched_=true; -} - -} // namespace Msp