• Victor Stinner's avatar
    asyncio, tulip issue 196: ProactorIocp._register() now registers the overlapped · 42d3bdee
    Victor Stinner yazdı
    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.
    42d3bdee
Adı
Son kayıt (commit)
Son güncelleme
..
__init__.py Loading commit data...
base_events.py Loading commit data...
base_subprocess.py Loading commit data...
constants.py Loading commit data...
coroutines.py Loading commit data...
events.py Loading commit data...
futures.py Loading commit data...
locks.py Loading commit data...
log.py Loading commit data...
proactor_events.py Loading commit data...
protocols.py Loading commit data...
queues.py Loading commit data...
selector_events.py Loading commit data...
streams.py Loading commit data...
subprocess.py Loading commit data...
tasks.py Loading commit data...
test_utils.py Loading commit data...
transports.py Loading commit data...
unix_events.py Loading commit data...
windows_events.py Loading commit data...
windows_utils.py Loading commit data...