aboutsummaryrefslogtreecommitdiff
path: root/include/spdlog/details/periodic_worker-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/spdlog/details/periodic_worker-inl.h')
-rw-r--r--include/spdlog/details/periodic_worker-inl.h49
1 files changed, 0 insertions, 49 deletions
diff --git a/include/spdlog/details/periodic_worker-inl.h b/include/spdlog/details/periodic_worker-inl.h
deleted file mode 100644
index 1d794994..00000000
--- a/include/spdlog/details/periodic_worker-inl.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
-// Distributed under the MIT License (http://opensource.org/licenses/MIT)
-
-#pragma once
-
-#ifndef SPDLOG_HEADER_ONLY
-#include <spdlog/details/periodic_worker.h>
-#endif
-
-namespace spdlog {
-namespace details {
-
-SPDLOG_INLINE periodic_worker::periodic_worker(const std::function<void()> &callback_fun, std::chrono::seconds interval)
-{
- active_ = (interval > std::chrono::seconds::zero());
- if (!active_)
- {
- return;
- }
-
- worker_thread_ = std::thread([this, callback_fun, interval]() {
- for (;;)
- {
- std::unique_lock<std::mutex> lock(this->mutex_);
- if (this->cv_.wait_for(lock, interval, [this] { return !this->active_; }))
- {
- return; // active_ == false, so exit this thread
- }
- callback_fun();
- }
- });
-}
-
-// stop the worker thread and join it
-SPDLOG_INLINE periodic_worker::~periodic_worker()
-{
- if (worker_thread_.joinable())
- {
- {
- std::lock_guard<std::mutex> lock(mutex_);
- active_ = false;
- }
- cv_.notify_one();
- worker_thread_.join();
- }
-}
-
-} // namespace details
-} // namespace spdlog