diff options
author | Ben Caimano <ben.caimano@10gen.com> | 2019-03-13 15:05:35 -0400 |
---|---|---|
committer | Ben Caimano <ben.caimano@10gen.com> | 2019-03-13 21:43:35 -0400 |
commit | 0549ffda6c6563e7148973b61a673e910de78c85 (patch) | |
tree | 145659123eb3ba961d411e527da59b0bdc8cca5f /src/mongo/executor | |
parent | 3a562b6908a737823b85a5dc94e12076b9dcfe60 (diff) | |
download | mongo-0549ffda6c6563e7148973b61a673e910de78c85.tar.gz |
SERVER-40111 Switch ThreadPool classes from try-catch to noexcept
Diffstat (limited to 'src/mongo/executor')
-rw-r--r-- | src/mongo/executor/network_interface_thread_pool.cpp | 9 | ||||
-rw-r--r-- | src/mongo/executor/network_interface_thread_pool.h | 2 |
2 files changed, 3 insertions, 8 deletions
diff --git a/src/mongo/executor/network_interface_thread_pool.cpp b/src/mongo/executor/network_interface_thread_pool.cpp index 4620d9bc19f..0fa5ed7632e 100644 --- a/src/mongo/executor/network_interface_thread_pool.cpp +++ b/src/mongo/executor/network_interface_thread_pool.cpp @@ -148,7 +148,7 @@ void NetworkInterfaceThreadPool::_consumeTasks(stdx::unique_lock<stdx::mutex> lk invariant(ret.isOK() || ErrorCodes::isShutdownError(ret.code())); } -void NetworkInterfaceThreadPool::_consumeTasksInline(stdx::unique_lock<stdx::mutex> lk) { +void NetworkInterfaceThreadPool::_consumeTasksInline(stdx::unique_lock<stdx::mutex> lk) noexcept { _consumeState = ConsumeState::kConsuming; const auto consumingTasksGuard = makeGuard([&] { _consumeState = ConsumeState::kNeutral; }); @@ -162,12 +162,7 @@ void NetworkInterfaceThreadPool::_consumeTasksInline(stdx::unique_lock<stdx::mut const auto lkGuard = makeGuard([&] { lk.lock(); }); for (auto&& task : tasks) { - try { - task(); - } catch (...) { - severe() << "Exception escaped task in network interface thread pool"; - std::terminate(); - } + task(); } tasks.clear(); diff --git a/src/mongo/executor/network_interface_thread_pool.h b/src/mongo/executor/network_interface_thread_pool.h index da9146f6fe6..712ad2d6df7 100644 --- a/src/mongo/executor/network_interface_thread_pool.h +++ b/src/mongo/executor/network_interface_thread_pool.h @@ -61,7 +61,7 @@ public: private: void _consumeTasks(stdx::unique_lock<stdx::mutex> lk); - void _consumeTasksInline(stdx::unique_lock<stdx::mutex> lk); + void _consumeTasksInline(stdx::unique_lock<stdx::mutex> lk) noexcept; void _dtorImpl(); NetworkInterface* const _net; |