Please sign in to comment.
issue #241: child main thread does not gracefully handle CTRL+C
In Ansible, depending on when CTRL+C is triggered, if it occurs after the connection multiplexer process has forked, and after it has in turn forked the "connection: local" context and its corresponding "clean fork parent", since all the broker processes still belong to Ansible's terminal foreground process group, they are all capable of receiving SIGINT in response to CTRL+C being pressed on that terminal. This papers over the problem. Really we want those KeyboardInterrupts to be logged, to call setsid() frmo the connection multiplexer process to isolate it from the terminal foreground process group. That way its only indication of top-level process shutdown is using the graceful disconnect mechanism that already exists in process.py::worker_main().
- Loading branch information...