-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Support stdin/stdout (io-std feature) in WASM #6516
Comments
I suppose they probably work with #6510. But it sounds like we could have a different implementation of this for wasm. |
@Timmmm Are you asking about this in terms of getting Tokio's Stdin has to support the |
Ah, yes, please be aware that we only support preview 1 right now. So if this is a feature for some newer version of wasm, then this cannot happen until after #6323. |
Ah yeah I didn't notice this is only in preview 2. Guess it will have to wait! |
Yes, I'm eagerly watching how pollables are added to tokio for Preview 2 myself. I think a lot of the current-thread runtime can be made to work within a Wasm Component environment. |
The
wasm32-wasi
target does support stdio, however Tokio implements stdin/stdout by spawning a new thread and using blocking IO:I did try patching Tokio to allow
io-std
anyway, and as you would expect you get this error:It doesn't give a useful backtrace, but I don't think we need one. WebAssembly doesn't support threads yet so this clearly isn't going to work.
However if you look at the WASI spec, stdin/stdout are
streams
which can return apollable
object which I think means they can work natively with Rust's async support (though I'm a Rust async neophyte so I may be wrong).The text was updated successfully, but these errors were encountered: