Do not terminate transactions that haven't responded yet.
Do not terminate transactions in terminateRemainingTransactions that had not sent the BEGIN_RESP phase. To keep the total number of transactions in the GeneralInfo table in sync, also decrement this value for every transaction that was rejected in the database recording.
This commit is contained in:
@@ -239,7 +239,20 @@ void TlmRecorder::terminateRemainingTransactions()
|
||||
removeTransactionFromSystem(*transaction->first);
|
||||
}
|
||||
else
|
||||
recordPhase(*(transaction->first), END_RESP, sc_time_stamp());
|
||||
{
|
||||
std::string beginPhase = transaction->second.recordedPhases.back().name;
|
||||
|
||||
if (beginPhase == "RESP")
|
||||
recordPhase(*(transaction->first), END_RESP, sc_time_stamp());
|
||||
else
|
||||
{
|
||||
// Do not terminate transaction as it is not ready to be completed.
|
||||
currentTransactionsInSystem.erase(transaction);
|
||||
|
||||
// Decrement totalNumTransactions as this transaction will not be recorded in the database.
|
||||
totalNumTransactions--;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user