mirror of
https://github.com/python/cpython.git
synced 2025-07-19 17:25:54 +00:00
![]() in the _cache dictionary, even if we already got the result. We need to keep a reference to the overlapped object, otherwise the memory may be reused and GetQueuedCompletionStatus() may use random bytes and behaves badly. There is still a hack for ConnectNamedPipe(): the overlapped object is not register into _cache if the overlapped object completed directly. Log also an error in debug mode in ProactorIocp._loop() if we get an unexpected event. Add a protection in ProactorIocp.close() to avoid blocking, even if it should not happen. I still don't understand exactly why some the completion of some overlapped objects are not notified. |
||
---|---|---|
.. | ||
__init__.py | ||
base_events.py | ||
base_subprocess.py | ||
constants.py | ||
coroutines.py | ||
events.py | ||
futures.py | ||
locks.py | ||
log.py | ||
proactor_events.py | ||
protocols.py | ||
queues.py | ||
selector_events.py | ||
streams.py | ||
subprocess.py | ||
tasks.py | ||
test_utils.py | ||
transports.py | ||
unix_events.py | ||
windows_events.py | ||
windows_utils.py |