diff options
| author | Chris O'Hara <cohara87@gmail.com> | 2023-05-25 12:07:48 +1000 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2023-06-27 01:09:18 +0000 |
| commit | 13529cc5f443ef4e242da3716daa0032aa8d34f2 (patch) | |
| tree | bef4196444db39ab7002f093611f48bbd866c69b /src/encoding | |
| parent | 1dbbafc70fd3e2c284469ab3e0936c1bb56129f6 (diff) | |
| download | go-13529cc5f443ef4e242da3716daa0032aa8d34f2.tar.xz | |
syscall: try non-blocking stdio on wasip1
Try to set stdio to non-blocking mode before the os package
calls NewFile for each fd. NewFile queries the non-blocking flag
but doesn't change it, even if the runtime supports non-blocking
stdio. Since WebAssembly modules are single-threaded, blocking
system calls temporarily halt execution of the module. If the
runtime supports non-blocking stdio, the Go runtime is able to
use the WASI net poller to poll for read/write readiness and is
able to schedule goroutines while waiting.
Change-Id: I1e3ce68a414e3c5960ce6a27fbfd38556e59c3dc
Reviewed-on: https://go-review.googlesource.com/c/go/+/498196
Reviewed-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
Auto-Submit: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
Reviewed-by: Achille Roussel <achille.roussel@gmail.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
Run-TryBot: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/encoding')
0 files changed, 0 insertions, 0 deletions
