deno
286c30c4 - fix(ext/node): rewrite Pipe.open(fd) to use raw fd ops (#33136)

Commit
113 days ago
fix(ext/node): rewrite Pipe.open(fd) to use raw fd ops (#33136) ## Summary Rewrites `Pipe.open(fd)` to use the `NodeFsState` fd-based I/O infrastructure (from #33039) instead of creating Deno resources. - **New op: `op_node_register_fd`** -- registers a raw OS fd in `NodeFsState` so existing fd-based read/write/close ops work on it. Supports both Unix (`from_raw_fd`) and Windows (`DuplicateHandle` + `from_raw_handle`). - **Replace `FileStreamConn`** (resource-based, with EAGAIN polling) with `FdStreamBase` that uses `op_node_fs_read_deferred`/`op_node_fs_write_deferred` directly on the raw fd. - **`Pipe.open(fd)` now works on Windows** (was `notImplemented`). - **Remove `op_net_unix_stream_from_fd`** and `is_socket_fd` from `ext/net` -- no longer needed. This is a step toward implementing `net.Socket({ fd })` and fixing the Git Bash TTY panic (#33131). --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Author
Committer
Parents
Loading