diff options
author | Sadie Powell <sadie@witchery.services> | 2024-02-25 21:54:40 +0000 |
---|---|---|
committer | Sadie Powell <sadie@witchery.services> | 2024-02-25 21:54:40 +0000 |
commit | 97b65b2255d538ed8a45d82d64452723d24d5753 (patch) | |
tree | e3d66b2b45b6ae3c9b79ea411e0a0eae7a5c4b9e | |
parent | b26f198489186e9f53aa79bab3c093d8fafce230 (diff) |
Use unique_ptr for managing std::thread ownership.
-rw-r--r-- | include/threadengine.h | 2 | ||||
-rw-r--r-- | src/threadengine.cpp | 9 |
2 files changed, 2 insertions, 9 deletions
diff --git a/include/threadengine.h b/include/threadengine.h index b240c1bbf..79cca6c61 100644 --- a/include/threadengine.h +++ b/include/threadengine.h @@ -26,7 +26,7 @@ private: public: /* Handle for this thread */ - std::thread *handle = nullptr; + std::unique_ptr<std::thread> handle; /** Threads destructor */ diff --git a/src/threadengine.cpp b/src/threadengine.cpp index 569eb2e80..a2af55e87 100644 --- a/src/threadengine.cpp +++ b/src/threadengine.cpp @@ -18,8 +18,6 @@ static void *entry_point(void *parameter) Thread *thread = static_cast<Thread *>(parameter); thread->Run(); thread->SetExitState(); - delete thread->handle; - thread->handle = nullptr; return NULL; } @@ -39,11 +37,6 @@ void Thread::SetExitState() void Thread::Exit() { this->SetExitState(); - if (this->handle) - { - delete this->handle; - this->handle = nullptr; - } } void Thread::Start() @@ -51,7 +44,7 @@ void Thread::Start() try { if (!this->handle) - this->handle = new std::thread(entry_point, this); + this->handle = std::make_unique<std::thread>(entry_point, this); } catch (const std::system_error& err) { |