Resolve "LimaAcquisitionMaster: no proper cleanup on CTRL-C"
Closes #3868 (closed)
This PR solves the failure of the acquisition chain to cleanup its own greenlets when being interrupted. In particular the dangling greenlet detected by the timescan tests (see #3868 (closed)).
The timescan tests still fail, but not because of non-cleaned up greenlets but because of #3877 (closed).
This PR does:
- Ensure that all greenlets created in
chain.py
are properly cleaned up. This is done by- refactoring
join_tasks
- protect
gevent.killall
withKillMask(masked_kill_nb=1)
- refactoring
- Add logging to the acquisition chain tasks. Needed to debug acquisitions (see e.g. #3877 (comment 266907))
- Add timestamps to pytest logging (which needs pytest.ini,
%
is not supported insetup.cfg
) - Remove bare except: see #3889 (closed)
Edited by Wout De Nolf