Skip to content
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

[BUG] Fixed desynch between deleted socket and unsubscribing from epoll (misleading log flood) #3090

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ethouris
Copy link
Collaborator

There was sometimes reported a log, sometimes with lots of flooding, which complained about event update on a socket that could not be identified. This was happening due to that a socket, which's ID has been already removed from the dispatch table, was trying to update the readiness state in epoll. Finding an already closed socket was impossible, while it was done as the last chance update so that the application picks up the error. This wasn't possible to be done simply because epoll system could not find the socket anyway.

The change was done so that the socket is immediately removed from the epoll system when it's going to be removed from the dispatch table. Note that epoll cannot operate on nonexistent sockets, so it cannot set it any readiness state if it's already closed. Hence removal is done before closing. In the place where the controversial update was done the removal was repeated, just in case, although the socket should be at that moment unsubscribed from any epoll.

@ethouris ethouris added Priority: Low Type: Bug Indicates an unexpected problem or unintended behavior [core] Area: Changes in SRT library core labels Dec 18, 2024
@ethouris ethouris added this to the v1.6.0 milestone Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[core] Area: Changes in SRT library core Priority: Low Type: Bug Indicates an unexpected problem or unintended behavior
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants