Unverified Commit 516a8e42 authored by Gabi Melman's avatar Gabi Melman Committed by GitHub

Update periodic_worker.h

parent 40aeaaee
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
// creates the thread on construction. // creates the thread on construction.
// stops and joins the thread on destruction. // stops and joins the thread on destruction.
#include <atomic>
#include <chrono> #include <chrono>
#include <condition_variable> #include <condition_variable>
#include <functional> #include <functional>
...@@ -55,16 +54,20 @@ public: ...@@ -55,16 +54,20 @@ public:
// stop the back thread and join it // stop the back thread and join it
~periodic_worker() ~periodic_worker()
{ {
if (active_) if (!active_)
{ {
return;
}
{
std::lock_guard<std::mutex> lock(mutex_);
active_ = false; active_ = false;
cv_.notify_one();
flusher_thread_.join();
} }
cv_.notify_one();
flusher_thread_.join();
} }
private: private:
std::atomic<bool> active_; bool active_;
std::thread flusher_thread_; std::thread flusher_thread_;
std::mutex mutex_; std::mutex mutex_;
std::condition_variable cv_; std::condition_variable cv_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment