From 7845caa100cdf574fe61095578c4f46f4c02c948 Mon Sep 17 00:00:00 2001 From: Thad House Date: Fri, 19 Aug 2016 21:48:30 -0700 Subject: [PATCH] Fixes GetRpcResult not removing calluid from call list on non blocking call (#100) --- src/Storage.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Storage.cpp b/src/Storage.cpp index 8211e7790b..a467f96da1 100644 --- a/src/Storage.cpp +++ b/src/Storage.cpp @@ -1421,7 +1421,10 @@ bool Storage::GetRpcResult(bool blocking, unsigned int call_uid, double time_out auto i = m_rpc_results.find(std::make_pair(call_uid >> 16, call_uid & 0xffff)); if (i == m_rpc_results.end()) { - if (!blocking || m_terminating) return false; + if (!blocking || m_terminating) { + m_rpc_blocking_calls.erase(call_uid); + return false; + } if (time_out < 0) { m_rpc_results_cond.wait(lock); } else {