-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue with IOCPReactor's handling of WSAECONNREFUSED #10052
Labels
Comments
Hi, |
(Removing ad-hoc keywords, since keywords are for workflow) |
I think the PR on github is good. I added a suggestion for a minor change. |
This change has been approved here #1482 (review) but not yet merged into trunk. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The following code produces buggy behavior on Windows 2016 Server
Queuing up two writes to a dead socket simultaneously will cause the IOCP subsystem to respond with a return code of 10054 (
WSAECONNREFUSED
) after which theReceiver
will no longer be considered in the reactor event loop iteration. Meaning, in the above code, thatdatagramRecieved
is not called in response to the test packet sent 1 second after the reactor starts.I have confirmed that this occurs only with the
IOCPReactor
It's possible that the error code is only a symptom of an underlying issue but it's the most reliable indicator of this problem occurring that I've found.
If the two writes are spaced more then a second apart then the issue no longer occurs.
I'm using Twisted 20.3.0 with Python 3.8.4
Searchable metadata
The text was updated successfully, but these errors were encountered: