From 4f20c730f697bea96799f03d565110f2ec99092a Mon Sep 17 00:00:00 2001
From: Sergey Yakubov <sergey.yakubov@desy.de>
Date: Wed, 26 May 2021 20:51:41 +0200
Subject: [PATCH] fix deadlock

---
 producer/api/cpp/src/request_handler_tcp.cpp           | 2 +-
 tests/automatic/consumer/consumer_api/consumer_api.cpp | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/producer/api/cpp/src/request_handler_tcp.cpp b/producer/api/cpp/src/request_handler_tcp.cpp
index 9be95ddd2..00a2337e2 100644
--- a/producer/api/cpp/src/request_handler_tcp.cpp
+++ b/producer/api/cpp/src/request_handler_tcp.cpp
@@ -302,7 +302,7 @@ void RequestHandlerTcp::PrepareProcessingRequestLocked() {
 }
 
 void RequestHandlerTcp::TearDownProcessingRequestLocked(bool request_processed_successfully) {
-    if (!request_processed_successfully) {
+    if (!request_processed_successfully && *ncurrent_connections_>0) {
         (*ncurrent_connections_)--;
     }
 }
diff --git a/tests/automatic/consumer/consumer_api/consumer_api.cpp b/tests/automatic/consumer/consumer_api/consumer_api.cpp
index 26230c932..b973d0076 100644
--- a/tests/automatic/consumer/consumer_api/consumer_api.cpp
+++ b/tests/automatic/consumer/consumer_api/consumer_api.cpp
@@ -327,7 +327,7 @@ void TestAll(const Args& args) {
         exit(EXIT_FAILURE);
     }
 
-    consumer->SetTimeout(1000);
+    consumer->SetTimeout(10000);
     auto group_id = consumer->GenerateNewGroupId(&err);
 
     if (args.datasets == "single") {
-- 
GitLab