WindhoverLabs / airliner

7 stars 3 forks source link

CF app didn't clear the frozen status when adding a new Playback file to the active list. #313

Open ynielson opened 1 year ago

ynielson commented 1 year ago

CF app didn't clear memory in the active list when adding a new Playback file to the active list. This caused that the previous status of the removed Playback file is still remain in the newly added Playback file, which caused that this new active file is frozen. In the function, machine_list__allocate_slot(), the allocated m_machine should be cleared.

ynielson commented 1 year ago

This happens only for unit test due to the static variables in the app which is initialized only once, This ticket can be closed.

ynielson commented 1 year ago

I would like to reopen this for the correct unit testing. I used the function, "misc__thaw_all_partners", which is not a Public source, to reset the previous status of thawed transactions every time the test cases start. There is no public functions to do this provided in the cfdp_provides.h. For this, I had to include the "misc.h" along with several other private header files. Because of the static variables in the CF app, there should be a public function in the cfdp_provides.h to reset frozen status of partners.

Other than this, I also used the private header file, "structures.h" in the cf_custom_hooks.c to send/receive Ack/Fin/Nak PDUs.

ynielson commented 1 year ago

Mentioned above...