Eryk Sun <eryk...@gmail.com> added the comment:
The SIGINT event gets created when the _signal extension module is imported. Until then, _PyOS_SigintEvent() returns NULL. But currently all code that calls _PyOS_SigintEvent() assumes it returns a valid handle. This has to be fixed to support Py_InitializeEx(0). For example, pysleep could call WinAPI Sleep on the main thread if the interrupt event isn't configured: ul_millis = (unsigned long)millisecs; hInterruptEvent = _PyOS_SigintEvent(); if (ul_millis == 0 || !hInterruptEvent || !_PyOS_IsMainThread()) { Py_BEGIN_ALLOW_THREADS Sleep(ul_millis); Py_END_ALLOW_THREADS break; } ---------- components: +Windows nosy: +eryksun, paul.moore, steve.dower, tim.golden, zach.ware type: -> behavior versions: +Python 3.10, Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue41686> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com