Message376196
| Author |
eryksun |
| Recipients |
eryksun, hafizbilal100, paul.moore, steve.dower, tim.golden, zach.ware |
| Date |
2020年09月01日.15:53:25 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1598975605.34.0.766954548134.issue41686@roundup.psfhosted.org> |
| In-reply-to |
| Content |
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;
} |
|