[issue41713] _signal module leak: test_interpreters leaked [1424, 1422, 1424] references

STINNER Victor report at bugs.python.org
Fri Sep 4 06:03:39 EDT 2020


STINNER Victor <vstinner at 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 <report at bugs.python.org>
<https://bugs.python.org/issue41713>
_______________________________________


More information about the Python-bugs-list mailing list