throwing an unknown exception causes daqcontrol to hang
When throw
ing an exception such as std::runtime_error
in the Module's code for configure()
the Command::configure()
method will catch an "Unknown Exception" and terminate immediately.
This causes the xmlrpc.client
in daqcontrol.py
to hang waiting for a response, as the xmlrpc server just terminated (this seems a limitation of the xmlrpc libraries, but more testing is needed here).
If instead of a std::exception
an ERS_ISSUE
is thrown, the Command::configure()
method will catch the issue and respond to the xmlrpc.client
with a "Failure" instead of "Success".
In this case, the current state of the Module is left hanging as "configuring". This is not the preferred behavior, and in case of catch
ed issue, the state should be set back to the state-before-command in DAQling Core.