diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-06-04 16:39:55 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-06-04 16:39:55 +0100 |
| commit | 10b4bf78da1dcdb96915506bd61a0ab1b2ea65ed (patch) | |
| tree | b8c02c90f4833574da71e3e6518a8d952a0bb1ca /src/lib | |
| parent | 4a74ca2cb973585122e84c21ff48ff4ff1ebd488 (diff) | |
Fix crash due to lack of signal disconnection.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/log.cc | 2 | ||||
| -rw-r--r-- | src/lib/log.h | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/lib/log.cc b/src/lib/log.cc index 52dff2982..4de6bd874 100644 --- a/src/lib/log.cc +++ b/src/lib/log.cc @@ -39,7 +39,7 @@ int const Log::TYPE_TIMING = 0x8; Log::Log () : _types (0) { - Config::instance()->Changed.connect (boost::bind (&Log::config_changed, this)); + _config_connection = Config::instance()->Changed.connect (boost::bind (&Log::config_changed, this)); config_changed (); } diff --git a/src/lib/log.h b/src/lib/log.h index 2ba273b44..94d30de4e 100644 --- a/src/lib/log.h +++ b/src/lib/log.h @@ -27,6 +27,7 @@ #include <string> #include <boost/thread/mutex.hpp> #include <boost/filesystem.hpp> +#include <boost/signals2.hpp> /** @class Log * @brief A very simple logging class. @@ -47,16 +48,15 @@ public: void set_types (int types); -protected: - /** mutex to protect the log */ - boost::mutex _mutex; - private: virtual void do_log (std::string m) = 0; void config_changed (); + /** mutex to protect the log */ + boost::mutex _mutex; /** bit-field of log types which should be put into the log (others are ignored) */ int _types; + boost::signals2::scoped_connection _config_connection; }; class FileLog : public Log |
