summaryrefslogtreecommitdiff
path: root/src/mongo/executor
diff options
context:
space:
mode:
authorBen Caimano <ben.caimano@10gen.com>2019-03-13 15:05:35 -0400
committerBen Caimano <ben.caimano@10gen.com>2019-03-13 21:43:35 -0400
commit0549ffda6c6563e7148973b61a673e910de78c85 (patch)
tree145659123eb3ba961d411e527da59b0bdc8cca5f /src/mongo/executor
parent3a562b6908a737823b85a5dc94e12076b9dcfe60 (diff)
downloadmongo-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.cpp9
-rw-r--r--src/mongo/executor/network_interface_thread_pool.h2
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;