Skip to content

Handle PEP 475 fallout

username-removed-56772 requested to merge issue255 into master

Closes #255 (closed)

As of Python 3.5, PEP 475 gets in our way. Runners with long time.sleep()'s in their _snooze() method (e.g. the retry runner) will have their system call implemented time.sleep() automatically retried at the C layer. The only reliable way to prevent this is to raise an exception in the signal handler. The standard run() method automatically suppresses this exception, meaning, it's caught and ignored, but effectively breaks the run() loop, which is just what we want.

The lmtp and rest runners implement their own run loops, so they also have to handle this exception, by ignoring it.

Merge request reports