pty_close_inherited_fds() is undefined on any non-Linux, non-macOS platform (build break on FreeBSD/OpenBSD too)
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 75/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- cpp
调研方向
从 src/unix/pty.cc 中 pty_close_inherited_fds() 的平台条件定义及其在 PtyFork 子分支中的调用开始。比较 Linux、macOS 和共享的非 macOS 路径,然后验证所选的可移植处理方式能够为 FreeBSD、OpenBSD 或其他受支持的 POSIX 平台编译,且不存在未定义的声明。
由索引模型根据 Issue 内容生成。
描述
src/unix/pty.cc defines pty_close_inherited_fds() only under #if defined(__linux__), but calls it unconditionally in PtyFork's child branch for every platform that isn't __APPLE__ (i.e. the shared #else branch used by Linux, FreeBSD, OpenBSD, and anything else binding.gyp claims to support). Compiling on FreeBSD/OpenBSD (or any other POSIX platform) should fail with 'pty_close_inherited_fds' was not declared in this scope.
Suggested minimal fix: add a portable fallback (e.g. getrlimit(RLIMIT_NOFILE) + a close() loop from fd 3) under a generic #else branch, or guard the call site itself.
Found while porting node-pty to IBM i PASE (AIX-derived) — see the companion issue about AIX/PASE support for context.
- 主要语言
- TypeScript
- 星标
- 2k
- 派生
- 337
- 平均合并
- 21 小时 58 分钟
- 30 天内合并 PR
- 3
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoft/node-pty 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
-
难度 2/5 1-3 小时 新手友好度 76/100
-
难度 2/5 1-3 小时 新手友好度 82/100
-
难度 2/5 1-3 小时 新手友好度 76/100
-
难度 2/5 1-3 小时 新手友好度 76/100
查看 microsoft/node-pty 的全部 Issue
相似的 Issue
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
-
Crush 未关闭
难度 1/5 1 小时以内 新手友好度 85/100
catppuccin/catppuccin#3125 ·
-
难度 1/5 1 小时以内 新手友好度 90/100
ElementsProject/cln-application#167 · 1 条评论 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 75/100
Quantco/pnpm-licenses#17 ·
-
难度 2/5 1-3 小时 新手友好度 75/100