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

Disable multiple receive threads by default #1920

Merged

Conversation

eboasson
Copy link
Contributor

On non-Windows platforms, the default was to use multiple receive threads, which in turn implied the use of blocking read operations. On termination, those blocking calls were interrupted by sending a packet to itself, but that only works if the firewall allows it. If the firewall drops these packet, the process hangs.

Various people have run into this problem, changing to using a single thread always solves the problem. So, changing the default until a better solution for interrupting these calls is implemented is probably for the best.

Fixes #1916

On non-Windows platforms, the default was to use multiple receive
threads, which in turn implied the use of blocking read operations.  On
termination, those blocking calls were interrupted by sending a packet
to itself, but that only works if the firewall allows it.  If the
firewall drops these packet, the process hangs.

Various people have run into this problem, changing to using a single
thread always solves the problem.  So, changing the default until a
better solution for interrupting these calls is implemented is probably
for the best.

Signed-off-by: Erik Boasson <[email protected]>
Copy link
Contributor

@dpotman dpotman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@eboasson
Copy link
Contributor Author

It is somewhat against my principle to merge something while CI is broken, but the change here has nothing to do with the CI problems, the macOS cache_pip thing appears to be transitory and the Windows CI thing has something to with the OpenSSL 3.2.0 release but my experiments so far failed to find a solution/workaround.

It is probably better to merge this now than to wait for the OpenSSL thing to be completely solved.

@eboasson eboasson merged commit 6896b29 into eclipse-cyclonedds:master Jan 22, 2024
18 of 23 checks passed
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.

dds_delete of participant hangs if no further message is received.
2 participants