STINNER Victor <vstin...@redhat.com> added the comment:

Something else. The bug occurs when CancelIoEx() (on the current overlapped 
WSARecv()) fails internally with ERROR_NOT_FOUND. According to overlapped.c, it 
means:

/* CancelIoEx returns ERROR_NOT_FOUND if the I/O completed in-between */

HasOverlappedIoCompleted() returns 0 in that case.

The problem is that currently, Overlapped.cancel() also returns None in that 
case, and later the asyncio IOCP loop ignores the completion event and so drops 
incoming received data.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue33694>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to