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

Make remaining core channel spinlock opt-in #130

Merged

Conversation

kyrias
Copy link
Contributor

@kyrias kyrias commented Aug 16, 2023

This makes the remaining use of spinlocks in the core flume channel implementation opt-in based on the spin feature. Without this change the crate cannot safely be used in RTOS systems due to priority inversion issues leading to the spinlock spinning forever and lower-priority threads never getting a chance to run.

I've left the async and select modules alone for now since we do not have a use for these at the moment, but I think it would make sense to perform the same change there as well. If you wish I could look into doing it as part of the same PR.

Signed-off-by: Johannes Löthberg <johannes.loethberg@elokon.com>
@zesterer
Copy link
Owner

These changes make sense, thanks!

@zesterer zesterer merged commit 431524d into zesterer:master Aug 16, 2023
4 checks passed
@kyrias kyrias deleted the make-remaining-core-spinlock-opt-in branch August 16, 2023 11:51
@svenstaro
Copy link

Great work! Would be awesome to get a release with this. :)

@zesterer
Copy link
Owner

I've just released 0.11.0 with these changes :)

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.

3 participants