Skip to content

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 with KillMask(masked_kill_nb=1)
  • 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 in setup.cfg)
  • Remove bare except: see #3889 (closed)
Edited by Wout De Nolf

Merge request reports