From 3bd76bcc786d9db2b9efb118f625092146d3591b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Tue, 22 Oct 2024 23:40:48 -0400
Subject: [PATCH] ConnectionManager: register pending callback on retry

Change-Id: Ic7c5bf97c9ac159519eea2c265787cf47d378ce7
---
 src/connectionmanager.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/connectionmanager.cpp b/src/connectionmanager.cpp
index 266fa08..8a748ac 100644
--- a/src/connectionmanager.cpp
+++ b/src/connectionmanager.cpp
@@ -1605,6 +1605,10 @@ ConnectionManager::Impl::retryOnError(const std::shared_ptr<DeviceInfo>& deviceI
         return;
     if (auto i = deviceInfo->getConnectedInfo()) {
         auto ops = deviceInfo->requestPendingOps();
+        std::unique_lock clk(i->mutex_);
+        for (const auto& [id, name]: ops)
+            i->pendingCbs_.emplace(id);
+        clk.unlock();
         lk.unlock();
         for (const auto& [id, name]: ops)
             sendChannelRequest(deviceInfo, i, i->socket_, name, id);
-- 
GitLab