diff options
author | Will Dietz <w@wdtz.org> | 2018-03-03T20·39-0600 |
---|---|---|
committer | Will Dietz <w@wdtz.org> | 2018-03-06T16·42-0600 |
commit | e917c05628abd0ff429c429d0e814532180b9586 (patch) | |
tree | 0ef6d5682af7482928a2a22cc4175a35ab6a7138 | |
parent | 70dbac7491c372b514b4fd825f99a761803f40f5 (diff) |
logging: Don't throw from Activity destructor
Move definition of destructor to logging.cc for access to util.hh's ignoreException.
-rw-r--r-- | src/libutil/logging.cc | 8 | ||||
-rw-r--r-- | src/libutil/logging.hh | 3 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/libutil/logging.cc b/src/libutil/logging.cc index 27a631a37d10..c1cff5cf9061 100644 --- a/src/libutil/logging.cc +++ b/src/libutil/logging.cc @@ -221,4 +221,12 @@ bool handleJSONLogMessage(const std::string & msg, return true; } +Activity::~Activity() { + try { + logger.stopActivity(id); + } catch (...) { + ignoreException(); + } +} + } diff --git a/src/libutil/logging.hh b/src/libutil/logging.hh index 677aa4daec4d..ca768d555add 100644 --- a/src/libutil/logging.hh +++ b/src/libutil/logging.hh @@ -94,8 +94,7 @@ struct Activity Activity(const Activity & act) = delete; - ~Activity() - { logger.stopActivity(id); } + ~Activity(); void progress(uint64_t done = 0, uint64_t expected = 0, uint64_t running = 0, uint64_t failed = 0) const { result(resProgress, done, expected, running, failed); } |