about summary refs log tree commit diff
path: root/src/libutil/thread-pool.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libutil/thread-pool.cc')
-rw-r--r--src/libutil/thread-pool.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libutil/thread-pool.cc b/src/libutil/thread-pool.cc
index 819aed7483..743038b588 100644
--- a/src/libutil/thread-pool.cc
+++ b/src/libutil/thread-pool.cc
@@ -55,9 +55,10 @@ void ThreadPool::process()
                     work();
                 } catch (std::exception & e) {
                     auto state_(state.lock());
-                    if (state_->exception)
-                        printMsg(lvlError, format("error: %s") % e.what());
-                    else {
+                    if (state_->exception) {
+                        if (!dynamic_cast<Interrupted*>(&e))
+                            printMsg(lvlError, format("error: %s") % e.what());
+                    } else {
                         state_->exception = std::current_exception();
                         wakeup.notify_all();
                     }