fix extra send retry (fixes #328)

This commit is contained in:
john30
2020-01-11 08:58:08 +01:00
parent 2eb6f5f574
commit 1834b59e8b
Executable → Regular
+2 -2
View File
@@ -328,7 +328,7 @@ result_t BusHandler::sendAndWait(const MasterSymbolString& master, SlaveSymbolSt
ActiveBusRequest request(master, slave); ActiveBusRequest request(master, slave);
logInfo(lf_bus, "send message: %s", master.getStr().c_str()); logInfo(lf_bus, "send message: %s", master.getStr().c_str());
for (int sendRetries = m_failedSendRetries + 1; sendRetries >= 0; sendRetries--) { for (int sendRetries = m_failedSendRetries + 1; sendRetries > 0; sendRetries--) {
m_nextRequests.push(&request); m_nextRequests.push(&request);
bool success = m_finishedRequests.remove(&request, true); bool success = m_finishedRequests.remove(&request, true);
result = success ? request.m_result : RESULT_ERR_TIMEOUT; result = success ? request.m_result : RESULT_ERR_TIMEOUT;
@@ -339,7 +339,7 @@ result_t BusHandler::sendAndWait(const MasterSymbolString& master, SlaveSymbolSt
logError(lf_bus, "send to %2.2x: %s, give up", master[1], getResultCode(result)); logError(lf_bus, "send to %2.2x: %s, give up", master[1], getResultCode(result));
break; break;
} }
logError(lf_bus, "send to %2.2x: %s%s", master[1], getResultCode(result), sendRetries > 0 ? ", retry" : ""); logError(lf_bus, "send to %2.2x: %s%s", master[1], getResultCode(result), sendRetries > 1 ? ", retry" : "");
request.m_busLostRetries = 0; request.m_busLostRetries = 0;
} }
return result; return result;