Skip to content

STUN: stop spamming if a keepalive request cant be sent - #463

Open
Ibn-Butt-Toota wants to merge 1 commit into
ValveSoftware:masterfrom
Ibn-Butt-Toota:butt/prevent-stun-keepalive-from-eating-an-entire-core
Open

Ibn-Butt-Toota wants to merge 1 commit into
ValveSoftware:masterfrom
Ibn-Butt-Toota:butt/prevent-stun-keepalive-from-eating-an-entire-core

Conversation

@Ibn-Butt-Toota

Copy link
Copy Markdown

If a keepalive request fails due to a packet not being able to be sent at all (like if someone's only connection went away due to turning on airplane mode or the interface goes down) then STUN's keepalive would send a request, have it fail, then enqueue another request, which would immediately fail, etc., causing a core to get pinned, which also happens to block anything scheduled, including the connection's timeout.

The core is pinned until either: 1) the connection is closed by whatever application is running it or 2) the original address returns.

If a keepalive request fails due to a packet not being able to be sent at all (like if someone's only connection went away due to turning on airplane mode or the interface goes down) then STUN's keepalive would send a request, have it fail, then enqueue another request, which would immediately fail, etc., causing a core to get pinned, which also happens to block anything scheduled, including the connection's timeout.

The core is pinned until either: 1) the connection is closed by whatever application is running it or 2) the original address returns.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant