diff --git a/src/connectionmanager.cpp b/src/connectionmanager.cpp index 266fa080e2a9f361017e3563bf051001336d6891..8a748ac0dd96ee2543b5d72fb625146e26b82dc5 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);