Dispatcher responds "busy" in subrun_example
During testing of artdaq v3_08_00, I have persistently encountered an issue where the subrun_example fails to complete multiple runs when the online monitors are enabled. Debugging has led me to believe that the issue is because the Dispatcher art processes are not shutting down in a timely fashion upon receipt of the "unregister_monitor" command from the online monitors, which are sent at the end of the first subrun (A separate issue...). The unregister_monitor command hangs until the end of the run shuts down the Dispatcher art process, and during this time, the Dispatcher is incapable of receiving additional commands.
My current workaround is to add a flag to the SharedMemoryEventManager::ShutdownArtProcesses call that instructs SMEM to skip the "graceful" shutdown period, as unregister_monitor should simply kill the Dispatcher art process without regard to whether it cleanly shuts down. (Sending an EndOfData Fragment would have the side effect of halting any other connected Dispatcher art processes, which is undesirable.) We can discuss whether we should try and suppress error/warning messages in this situation.