From 054be5025762c5e1c7e853c4fa5d7eed8da1727f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 16 Sep 2016 18:52:42 +0200 Subject: printMsg(): Don't check for interrupts Having the logger function potentially throw exceptions is Heisenbuggy. --- src/libutil/logging.cc | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src/libutil/logging.cc') diff --git a/src/libutil/logging.cc b/src/libutil/logging.cc index 15bb1e175..0229ba472 100644 --- a/src/libutil/logging.cc +++ b/src/libutil/logging.cc @@ -60,14 +60,12 @@ void warnOnce(bool & haveWarned, const FormatOrString & fs) void writeToStderr(const string & s) { try { - writeFull(STDERR_FILENO, s); + writeFull(STDERR_FILENO, s, false); } catch (SysError & e) { - /* Ignore failing writes to stderr if we're in an exception - handler, otherwise throw an exception. We need to ignore - write errors in exception handlers to ensure that cleanup - code runs to completion if the other side of stderr has - been closed unexpectedly. */ - if (!std::uncaught_exception()) throw; + /* Ignore failing writes to stderr. We need to ignore write + errors to ensure that cleanup code that logs to stderr runs + to completion if the other side of stderr has been closed + unexpectedly. */ } } -- cgit v1.2.3