WindhoverLabs / airliner

7 stars 3 forks source link

CF App didn't make sure the PduOutput is ready for the Playback channel #308

Open ynielson opened 1 year ago

ynielson commented 1 year ago

When the CF app received 2 playback files in Playback Queue and was requested to send those files through the channel, it didn't make sure that the PduOutput is ready to send in the function, "CF_PduOutputReady". The function didn't find the correct channel populated with the source Entity Id, which is the "FlightEngineEntityId" and returned TRUE, without making ready to send by calling "OS_CountSemTimedWait".

Error 1: The function, "CF_PduOutputReady", used empty "SrcEntityIdBuf" to compare with the FlightEngineEntityId. Error 2: When this function, "CF_PduOutputReady", thought that this is the uplink queue and tried to find the channel by calling "CF_GetResponseChanFromTransId", the function, "CF_GetResponseChanFromTransId", didn't return the correct error value(CF_ERROR: -1) but returned 0xFF when it failed to find the transaction from the queue, which caused the calling function, "CF_PduOutputReady", didn't consider that the returned value was a failed value.

ynielson commented 1 year ago

Please disregard the Error 1 above. SrcEntityIdBuf was empty because a part of the source code was accidentally removed. Sorry for the confusion. But the Error 2 still remains.