diff --git a/src/utils/SignalManager.cpp b/src/utils/SignalManager.cpp index f2721177285d3ed5c8edb7ca484a685679c94e5d..62505d7b4d171ff3ff9bf207f9e357aada060fda 100644 --- a/src/utils/SignalManager.cpp +++ b/src/utils/SignalManager.cpp @@ -54,6 +54,8 @@ SignalManager::pauseForDebug(int signal) { if (std::string(PUGS_BUILD_TYPE) != "Release") { if (s_pause_on_error) { + // Each failing process must write + std::cerr.clear(); std::cerr << "\n======================================\n" << rang::style::reset << rang::fg::reset << rang::style::bold << "to attach gdb to this process run\n" << "\tgdb -pid " << rang::fg::red << getpid() << rang::fg::reset << '\n' @@ -77,7 +79,7 @@ SignalManager::handler(int signal) std::signal(SIGABRT, SIG_DFL); // Each failing process must write - std::cerr.setstate(std::ios::goodbit); + std::cerr.clear(); std::cerr << BacktraceManager{} << '\n';