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

fix: Don't enable the zbus/tokio feature on Unix #521

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

Conversation

DataTriny
Copy link
Member

Fixes #515

For simplicity, I chose to also drop the path to spawn a task using the unstable API. We'd have to enable the tokio_unstable flag ourself (previously done by zbus), just to name the task. Yes this would be useful in diagnozing a crash, but we don't test this enough for me to feel confident keeping this unstable code around.

Tested by running the winit example with both runtimes.

@mwcampbell
Copy link
Contributor

@lunixbochs Can you easily test this solution and make sure it does what you need? Thanks.

@mwcampbell
Copy link
Contributor

Given that accesskit_unix doesn't offer an async API at all, but always does its async work on another thread, and that it's now always using zbus's async-io feature, do we even need to offer async-io and tokio feature, or should we just always use async-io? @lunixbochs What do you think?

@DataTriny
Copy link
Member Author

Even when the zbus/async-io feature is enabled, we still spin a tokio executor if the tokio feature is enabled since we don't use zbus's blocking API. It's just that we can't build zbus without picking an async runtime. So I think it's just that tokio users will depend on some async-std dependencies and will have to explicitly depend on accesskit_unix to disable default features.

But I agree that dropping support for tokio entirely would make things simpler though.

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.

can't use tokio feature if a transient depends on accesskit with default-features
2 participants