diff --git a/include/spdlog/sinks/async_sink.h b/include/spdlog/sinks/async_sink.h index 91c07851..4e756491 100644 --- a/include/spdlog/sinks/async_sink.h +++ b/include/spdlog/sinks/async_sink.h @@ -45,6 +45,8 @@ public: explicit async_sink(config async_config); async_sink(const async_sink &) = delete; async_sink &operator=(const async_sink &) = delete; + async_sink(async_sink &&) = delete; + async_sink &operator=(async_sink &&) = delete; ~async_sink() override; // sink interface implementation @@ -103,7 +105,6 @@ private: std::unique_ptr q_; std::thread worker_thread_; details::err_helper err_helper_; - std::atomic_size_t flush_requests_ = 0; std::atomic_bool terminate_worker_ = false; }; diff --git a/src/sinks/async_sink.cpp b/src/sinks/async_sink.cpp index ae2cba16..51832c28 100644 --- a/src/sinks/async_sink.cpp +++ b/src/sinks/async_sink.cpp @@ -33,6 +33,7 @@ async_sink::async_sink(config async_config) }); } + async_sink::~async_sink() { try { q_->enqueue(async_log_msg(async_log_msg::type::terminate));