However we were not doing that within our AXL_Stop implementation. I forget if that was intentional or an oversight. This PR adds in the AXL_Wait call.
I also restructured the loop to issue all cancels, then all waits, then all frees. If cancel or wait is slow, this lets a bunch of cancel/wait requests to run in parallel in case there are multiple outstanding transfers.
We say it's required to AXL_Wait on a transfer after it has been AXL_Cancel'ed.
https://github.com/ECP-VeloC/AXL/tree/master/doc
However we were not doing that within our AXL_Stop implementation. I forget if that was intentional or an oversight. This PR adds in the AXL_Wait call.
I also restructured the loop to issue all cancels, then all waits, then all frees. If cancel or wait is slow, this lets a bunch of cancel/wait requests to run in parallel in case there are multiple outstanding transfers.