1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 15:24:46 -05:00
denoland-deno/ext/io
Nathan Whitaker 7c57105cc4
fix(ext/node): only set our end of child process pipe to nonblocking mode (#26495)
Fixes playwright on linux, as reported in
https://github.com/denoland/deno/issues/16899#issuecomment-2378268454.

The issue was that we were opening the socket in nonblocking mode, which
meant that subprocesses trying to use it would get a `EWOULDBLOCK` error
(unexpectedly). The fix here is to only set nonblocking mode on our end
(which we need to use asynchronously)
2024-10-23 21:13:30 -07:00
..
12_io.js chore: soft-remove Deno.{stdin,stderr,stdout}.rid (#25479) 2024-09-07 08:37:35 +10:00
bi_pipe.rs fix(ext/node): only set our end of child process pipe to nonblocking mode (#26495) 2024-10-23 21:13:30 -07:00
Cargo.toml chore: forward v2.0.2 release commit to main (#26376) 2024-10-18 03:12:49 +02:00
fs.rs refactor(ext/io): use concrete error types (#26187) 2024-10-15 15:36:11 -07:00
lib.rs refactor(ext/io): use concrete error types (#26187) 2024-10-15 15:36:11 -07:00
pipe.rs fix(node): Pass NPM_PROCESS_STATE to subprocesses via temp file instead of env var (#25896) 2024-09-27 12:35:37 -07:00
README.md docs: Add documentation to a subset of available extensions (#24138) 2024-06-18 00:07:48 +02:00
winpipe.rs chore: enable clippy::print_stdout and clippy::print_stderr (#23732) 2024-05-08 22:45:06 -04:00

deno_io

This crate provides IO primitives for other Deno extensions, this includes stdio streams and abstraction over File System files.

Usage Example

From javascript, include the extension's source:

import * as io from "ext:deno_io/12_io.js";

Then from rust, provide: deno_io::deno_io::init_ops_and_esm(Option<deno_io::Stdio>) in the extensions field of your RuntimeOptions

Where deno_io::Stdio implements Default, and can therefore be provided as Some(deno_io::Stdio::default())

Dependencies

  • deno_web: Provided by the deno_web crate
  • deno_tty: Provided in deno/runtime/ops/tty.rs