On Wed, Feb 1, 2012 at 10:02, Justin Karneges <[email protected]> wrote:
> Hi, > > I'm running workers in different threads of a python app, while the main > thread > sleeps. I want to be able to cleanly shutdown the app when ctrl-c is > pressed. > As it is now, when ctrl-c is pressed, the main thread receives > KeyboardException. However, blocking zmq calls in the worker threads do > not > return with EINTR and so all the threads remain stuck. > > Is this a python peculiarity regarding signal handling? How are people > doing > clean shutdowns on ctrl-c with python? > It's a general Python issue. Python + Threads + Signals = mess. >From the signal doc <http://docs.python.org/library/signal.html>: only the main thread can set a new signal handler, and the main thread will be the only one to receive signals (this is enforced by the Python signal module, even if the underlying thread implementation supports sending signals to individual threads) -MinRK > > Thanks, > Justin > _______________________________________________ > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev >
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
