When running local mock build (at least), KeyboardInterrupt won't stop scheduler because the main thread is already gone. It probably doesn't catch any signals.
While it makes it cumbersome to actually stop the whole build, this behaviour is useful as it lets me easily interrupt hanging component builds (and sadly, these happen).
From my point of view, it should be enough for graceful end to: - stop messaging_thread - keep polling_thread and worker_thread running while NOT Queue.empty() - wait for another SIGINT (or another signal) to force-stop everything.
messaging_thread
polling_thread
worker_thread
But it's probably more difficult and there's a devil in the detail, whom I don't see. :)
Fixed in PR#253.
@fivaldi changed the status to Closed
Closed
This issue has been migrated to Fedora Forge: https://forge.fedoraproject.org/koji/mbs/issues/211
Please continue any further discussion there.