use timeout error instead of "syn received" when notifying current request

This commit is contained in:
john30
2015-03-28 12:51:39 +01:00
parent 0b9fc2bec2
commit 5b229114d1
+4 -2
View File
@@ -160,7 +160,7 @@ result_t BusHandler::sendAndWait(SymbolString& master, SymbolString& slave)
logError(lf_bus, "%s, give up", getResultCode(result)); logError(lf_bus, "%s, give up", getResultCode(result));
break; break;
} }
logError(lf_bus, "%s, %s", getResultCode(result), sendRetries>0 ? "retry send" : ""); logError(lf_bus, "%s%s", getResultCode(result), sendRetries>0 ? ", retry" : "");
request.m_busLostRetries = 0; request.m_busLostRetries = 0;
} }
@@ -634,7 +634,9 @@ result_t BusHandler::setState(BusState state, result_t result, bool firstRepetit
} }
m_seenAddresses[dstAddress] = true; m_seenAddresses[dstAddress] = true;
} }
bool restart = m_currentRequest->notify(result, m_response); bool restart = m_currentRequest->notify(
result == RESULT_ERR_SYN && (m_state == bs_recvCmdAck || m_state == bs_recvRes) ? RESULT_ERR_TIMEOUT : result, m_response
);
if (restart) { if (restart) {
m_currentRequest->m_busLostRetries = 0; m_currentRequest->m_busLostRetries = 0;
m_nextRequests.add(m_currentRequest); m_nextRequests.add(m_currentRequest);