Rework flint startup
Closes #2582 (closed)
This MR rework the way Flint starting in order to be a bit stronger versus stucked state.
- Re-implement the low API which
create/attach/close
Flint - Better handling of timeout. We don't want 30s timeout on user interaction
- A new argument to
get_flint()
:restart_if_stuck
, False by default - A new property to
SCAN_DISPLAY
:restart_flint_if_stuck
, False by default (used whenauto=True
)
This also changes the ontology of the Flint proxy inside BLISS.
Previously there was a new proxy for each Flint, which was dangerous, cause it was not possible to hold a Flint proxy without having trouble when Flint was recreated. Now it is handled as a singleton. The Flint proxy is unique, and can be connected to different Flint. This could be used to provide BLISS side setup when a new Flint is created/connected.
This feature is used on test fixtures, to track Flint PID and clean up the env at the end of each tests.