Threads are not terminated after SIGINT
It is currently not possible to stop
./run.sh by pressing
The process signal
SIGINT seems to trigger the
EngineRunner.exit_gracefully method in
run.py, but its
sys.exit(0) call blocks due to running threads.
In order to exit cleanly, we need to signal each thread, that it should finish. Probably some of the running threads are currently not notified.
There are probably two approaches for solving this issue:
- A) use Python's async features instead of threads
- B) ensure, that every thread establishes a communication path with the main thread in order to receive notifications