Commit f013c85
committed
fix(exec): 消除 stdin 管道竞态——执行器总是向子进程提供(可能为空的)即时关闭 stdin;替身脚本先排空 stdin 再回显
- CI 实证(JDK 8 + Ubuntu):commons-exec 泵入 stdin 时,不读 stdin 的
快退进程会触发 write-after-close(exit=-1,stderr=Stream closed),
1.4.0 必现、1.6.0 仍抖动
- 修复后:消费型命令(codex login --with-api-key)读满载荷到 EOF;
不消费的命令拿到立即 EOF 的空管道,泵不再有迟到写入
- 副作用说明:子进程 stdin 从"挂起管道"变为"关闭管道",对非交互
SDK 是更严格正确的语义1 parent 433b9c7 commit f013c85
2 files changed
Lines changed: 10 additions & 6 deletions
Lines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
129 | 129 | | |
130 | 130 | | |
131 | 131 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
9 | 13 | | |
0 commit comments