From d98fcc3f72b9477343a2ac0e8745ad26bef11b10 Mon Sep 17 00:00:00 2001 From: ycycyyc <944696498@qq.com> Date: Fri, 7 Jun 2024 20:12:25 +0800 Subject: [PATCH] SERVER-91296 The _numStartingThreads variable should be self-decremented if thread creation fails --- src/mongo/transport/service_executor_reserved.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mongo/transport/service_executor_reserved.cpp b/src/mongo/transport/service_executor_reserved.cpp index dd2391cdd47fd..3352eeec5a79a 100644 --- a/src/mongo/transport/service_executor_reserved.cpp +++ b/src/mongo/transport/service_executor_reserved.cpp @@ -131,6 +131,9 @@ Status ServiceExecutorReserved::_startWorker() { if (launchReplacement) { auto threadStartStatus = _startWorker(); if (!threadStartStatus.isOK()) { + lk.lock(); + _numStartingThreads--; + lk.unlock(); LOGV2_WARNING(22981, "Could not start new reserve worker thread", "error"_attr = threadStartStatus);