STINNER Victor <[email protected]> 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 <[email protected]>
<https://bugs.python.org/issue41713>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com