X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fthread.cpp;h=810b1f80485197eeb66552707897c89e42356215;hb=b56eb5ec1da675da0c66abc53c1e4f6c4e4cccbd;hp=6858ce9999b8ba2211db353802acfa2750811125;hpb=e1ea831a640fba534e7e42e399f04cdf681ef8d3;p=libs%2Fcore.git diff --git a/source/core/thread.cpp b/source/core/thread.cpp index 6858ce9..810b1f8 100644 --- a/source/core/thread.cpp +++ b/source/core/thread.cpp @@ -1,8 +1,10 @@ -/* -This file is part of libmspframework +/* $Id$ + +This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef WIN32 #include #endif @@ -24,7 +26,7 @@ void Thread::join() #else pthread_join(thread_, 0); #endif - launched_=false; + launched_ = false; } /** @@ -52,7 +54,10 @@ void Thread::kill() Thread::~Thread() { if(launched_) + { kill(); + join(); + } } void Thread::launch() @@ -62,11 +67,11 @@ void Thread::launch() #ifdef WIN32 DWORD dummy; // Win9x needs the lpTthreadId parameter - thread_=CreateThread(0, 0, &main_, this, 0, &dummy); + thread_ = CreateThread(0, 0, &main_, this, 0, &dummy); #else pthread_create(&thread_, 0, &main_, this); #endif - launched_=true; + launched_ = true; } } // namespace Msp