Threads are not terminated after SIGINT
It is currently not possible to stop ./run.sh
by pressing CTRL-C
.
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