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

Fixed removing sockets from group members' rolled list after parallelly closed. #1436

Merged

Conversation

ethouris
Copy link
Collaborator

@ethouris ethouris commented Aug 5, 2020

Problem: the sockets weren't removed from the roll list and could make the EID empty without noticing it. Two fixes:

  1. Checking if all sockets from the list after applying a lock for group if they exist and are not broken. If not pass this test, remove them ALSO from the list of sockets to review. If this makes the container empty, the loop will interrupt at the next iteration.

  2. Checking the return code from srt_epoll_wait call. It could have happened that it returns error in case when EID container is empty, which should be handled. No other error than that is predicted to happen; the error log is displayed in case when it would happen.

  3. Removal from the EID container immediately when found out that the socket is broken so that this doesn't get probed again in this loop.

@ethouris ethouris self-assigned this Aug 5, 2020
@ethouris ethouris added [core] Area: Changes in SRT library core Impact: Significant Priority: High Type: Bug Indicates an unexpected problem or unintended behavior labels Aug 5, 2020
@ethouris ethouris added this to Backlog in Development via automation Aug 5, 2020
@ethouris ethouris added this to the v1.5.0 - Sprint 20 milestone Aug 5, 2020
@ethouris
Copy link
Collaborator Author

ethouris commented Aug 5, 2020

CodeFactor: complex code - to be ignored.

srtcore/api.cpp Outdated Show resolved Hide resolved
@maxsharabayko
Copy link
Collaborator

Fixes #1432?

@ethouris ethouris linked an issue Aug 5, 2020 that may be closed by this pull request
@maxsharabayko maxsharabayko merged commit 2f29eaa into Haivision:master Aug 5, 2020
Development automation moved this from Backlog to Done Aug 5, 2020
@mbakholdina mbakholdina modified the milestones: v1.5.0 - Sprint 20, v1.4.2 Oct 14, 2020
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: High Type: Bug Indicates an unexpected problem or unintended behavior
Projects
No open projects
Development
  
Done
Development

Successfully merging this pull request may close these issues.

[BUG] srt_connect_group() hang up
3 participants