]> git.tdb.fi Git - libs/core.git/blobdiff - source/core/thread.cpp
Use nullptr instead of 0 for pointers
[libs/core.git] / source / core / thread.cpp
index d2451a0d819187e67f0ea41340720e62ac7f3a4a..e860d6758f9e048f070b67855e7d7810456e7c48 100644 (file)
@@ -6,51 +6,52 @@ using namespace std;
 
 namespace Msp {
 
-Thread::Thread():
-       priv_(new Private),
-       state_(PENDING)
+Thread::Thread(const string &name):
+       _priv(new Private),
+       _name(name)
 { }
 
 Thread::~Thread()
 {
        kill();
        join();
-       delete priv_;
+       delete _priv;
 }
 
 void Thread::join()
 {
-       if(state_>=JOINED)
+       if(_state>=JOINED)
                return;
 
        platform_join();
-       state_ = JOINED;
+       _state = JOINED;
 }
 
 void Thread::kill()
 {
-       if(state_!=RUNNING)
+       if(_state!=RUNNING)
                return;
 
        platform_kill();
-       state_ = KILLED;
+       _state = KILLED;
 }
 
 void Thread::launch()
 {
-       if(state_>=RUNNING)
+       if(_state>=RUNNING)
                throw logic_error("already launched");
 
        platform_launch();
-       state_ = RUNNING;
+       _state = RUNNING;
 }
 
 ThreadReturn THREAD_CALL Thread::Private::main_wrapper(void *arg)
 {
        Thread *thread = reinterpret_cast<Thread *>(arg);
+       thread->platform_setname();
        thread->main();
-       thread->state_ = FINISHED;
-       return 0;
+       thread->_state = FINISHED;
+       return nullptr;
 }
 
 } // namespace Msp