STINNER Victor <vstin...@python.org> added the comment:
The signal module is really special. In Python, only the main thread of the main interpreter is supposed to be allowed to run Python signal handlers (but the C signal handler can be executed by any thread). The exec function of the _signal module runs actions each time a new instance of the _signal module is created, whereas some actions must only be done exactly once: * modify Handlers[i].tripped * modify Handlers[i].func * Set SIGINT signal handler * Initialize sigint_event event (Windows only): see bpo-41686 For example, calling signal.signal() in a subinterpreter raises ValueError("signal only works in main thread of the main interpreter"). ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue41713> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com