You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by je...@apache.org on 2020/03/29 16:29:36 UTC
[thrift] branch master updated: THRIFT-4963: Fix deadlock in
ThreadManager::Worker::run Client: cpp Patch: Kanishth Karthi
This is an automated email from the ASF dual-hosted git repository.
jensg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/thrift.git
The following commit(s) were added to refs/heads/master by this push:
new 8ec5857 THRIFT-4963: Fix deadlock in ThreadManager::Worker::run Client: cpp Patch: Kanishth Karthi
8ec5857 is described below
commit 8ec585793c63c765a18ec97335eda6b89b494ab5
Author: Kanishth Karthik <ka...@gmail.com>
AuthorDate: Thu Mar 26 01:29:50 2020 +0530
THRIFT-4963: Fix deadlock in ThreadManager::Worker::run
Client: cpp
Patch: Kanishth Karthi
This closes #2070
---
lib/cpp/src/thrift/concurrency/ThreadManager.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/cpp/src/thrift/concurrency/ThreadManager.cpp b/lib/cpp/src/thrift/concurrency/ThreadManager.cpp
index 25b838a..e917f4a 100644
--- a/lib/cpp/src/thrift/concurrency/ThreadManager.cpp
+++ b/lib/cpp/src/thrift/concurrency/ThreadManager.cpp
@@ -319,7 +319,9 @@ public:
} else if (manager_->expireCallback_) {
// The only other state the task could have been in is TIMEDOUT (see above)
+ manager_->mutex_.unlock();
manager_->expireCallback_(task->getRunnable());
+ manager_->mutex_.lock();
manager_->expiredCount_++;
}
}