diff --git a/node/Thread.cpp b/node/Thread.cpp index 37a1a5a5..71cfcaea 100644 --- a/node/Thread.cpp +++ b/node/Thread.cpp @@ -47,7 +47,6 @@ static void *__m_thread_main(void *ptr) namespace ZeroTier { Thread::Thread() : - suicidalThread(false), _impl(malloc(sizeof(pthread_t))), _running() { @@ -84,10 +83,6 @@ void Thread::__intl_run() for(;;) { _notInit = false; this->main(); - if (suicidalThread) { - delete this; - return; - } if (_notInit) // UGLY ASS HACK: see main() usleep(50); else break; @@ -127,7 +122,6 @@ struct __m_thread_info namespace ZeroTier { Thread::Thread() : - suicidalThread(false), _impl(malloc(sizeof(__m_thread_info))), _running() { @@ -162,10 +156,6 @@ void Thread::__intl_run() for(;;) { _notInit = false; this->main(); - if (suicidalThread) { - delete this; - return; - } if (_notInit) Thread::sleep(50); else break; diff --git a/node/Thread.hpp b/node/Thread.hpp index b023fbae..9b399a00 100644 --- a/node/Thread.hpp +++ b/node/Thread.hpp @@ -78,11 +78,6 @@ protected: virtual void main() throw(); - /** - * Subclasses can set to true to cause Thread to delete itself on exit - */ - volatile bool suicidalThread; - private: void *_impl; AtomicCounter _running;