alexcrichton requested wasmtime-wasi-reviewers for a review on PR #11618.
alexcrichton opened PR #11618 from alexcrichton:wasip3-stdio-blocking to bytecodealliance:main:
Match the WASIp2 stdio implementation and "lie" about stdio actually being async. Instead of using Tokio's primitives use the
std::ioprimitives which will block the current program while the output is produced. This matches WASIp2 semantics and we always have the option of making this more async in the future (or even have it as a runtime flag). This avoids the need to callpoll_flushin stdio unconditionally in thewasi:cliimplementation which didn't feel quite right.<!--
Please make sure you include the following information:
If this work has been discussed elsewhere, please include a link to that
conversation. If it was discussed in an issue, just mention "issue #...".Explain why this change is needed. If the details are in an issue already,
this can be brief.Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.htmlPlease ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->
alexcrichton requested dicej for a review on PR #11618.
alexcrichton requested wasmtime-core-reviewers for a review on PR #11618.
dicej submitted PR review:
Seems reasonable to me, and embedders still have the option of configuring their
WasiCtxwith stdio streams that usetokio::io::std{out,err}()(or an auto-flushing wrapper around them) to get the previous behavior, if desired.
alexcrichton updated PR #11618.
alexcrichton has enabled auto merge for PR #11618.
alexcrichton merged PR #11618.
Last updated: Dec 06 2025 at 06:05 UTC