this->m_stopFunc = std::move(func);
}
-void HandleExt::stop()
+bool HandleExt::stop()
{
DEBUG("Stop & join worker...");
{
std::lock_guard<std::mutex> l(this->m_flagMutex);
+
+ if (!this->m_isRunning || this->m_stop)
+ return false;
+
this->m_stop = true;
if (this->m_stopFunc != nullptr)
if (this->m_worker.joinable())
this->m_worker.join();
+
+ return true;
}
bool HandleExt::isStopped() const