DataSenderManager in BoardReader is constructed after data flow has already started
Currently, the order of operations in BoardReaderApp::do_start is incorrect in that it follows "data flow" order, when it should instead be in the reverse of that order so that subsequent pieces of the system are ready to receive data when that data is available.Several checks should be added to enforce the strict order of this transition:
- CommandableFragmentGenerator::getNext should wait/return early until CFG::StartCmd has completed
- After starting the BoardReaderCore receive_fragments and send_fragments threads, BoardReaderApp::do_start should wait for those threads to raise "ready" flags before calling CFG::StartCmd
#3 Updated by Gennadiy Lukhanin 12 days ago
- Status changed from Resolved to Reviewed
This branch was merged into the for_sbndaq-artdaq branch and several test runs were taken during new release tests for artdaq v3_09_01 and sbndaq v0_07_01. I looked at code changes, ran artdaq tests (mrb t), and ran artdaq demo on evb05 in the /scratch/artdaqdemo directory.