diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/logger.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/logger.cc b/src/logger.cc index e04b588..da097a1 100644 --- a/src/logger.cc +++ b/src/logger.cc @@ -40,8 +40,9 @@ public: class LoggerSyslog : public Logger { public: - LoggerSyslog(std::string const& name) { - openlog(name.c_str(), LOG_PID, LOG_DAEMON); + LoggerSyslog(std::string const& name) + : name_(name) { + openlog(name_.c_str(), LOG_PID, LOG_DAEMON); } ~LoggerSyslog() override { @@ -75,6 +76,9 @@ private: assert(false); return LOG_INFO; } + + // Copy of name to keep pointer alive while syslog has access to it + std::string const name_; }; class LoggerFile : public Logger { |
