From aa0f62292bdbbfdd1b8938e36e63a3c4f1d51074 Mon Sep 17 00:00:00 2001 From: gabime Date: Sat, 20 Aug 2016 15:01:08 +0300 Subject: [PATCH] fixed dist_sink in gcc --- include/spdlog/sinks/dist_sink.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/include/spdlog/sinks/dist_sink.h b/include/spdlog/sinks/dist_sink.h index 0c631fb2..1a383f78 100644 --- a/include/spdlog/sinks/dist_sink.h +++ b/include/spdlog/sinks/dist_sink.h @@ -11,6 +11,7 @@ #include #include +#include #include #include @@ -23,7 +24,7 @@ namespace sinks template class dist_sink: public base_sink { -public: +public: explicit dist_sink() :_sinks() {} dist_sink(const dist_sink&) = delete; dist_sink& operator=(const dist_sink&) = delete; @@ -42,20 +43,20 @@ protected: public: void flush() override { - std::lock_guard lock(_mutex); + std::lock_guard lock(base_sink::_mutex); for (auto &sink : _sinks) sink->flush(); } void add_sink(std::shared_ptr sink) { - std::lock_guard lock(_mutex); + std::lock_guard lock(base_sink::_mutex); _sinks.push_back(sink); } void remove_sink(std::shared_ptr sink) { - std::lock_guard lock(_mutex); + std::lock_guard lock(base_sink::_mutex); _sinks.erase(std::remove(_sinks.begin(), _sinks.end(), sink), _sinks.end()); } };