NamedPipe 永久泄露 HANDLE
作者: 1c7718e7创建于 2026年4月2日更新于 2026年8月28日
标签bugwindows
在 SelectorInner::drop() 中,mio 会使用 timeout=0 来轮询 IOCP,以尝试收集 NamedPipes 可能提交的所有待处理的重叠操作。这需要确保释放对 named_pipe::Inner 的所有引用(这将会调用管道上的 CloseHandle())。然而,无法保证 mio::Poll 被 drop 后,所有 NamedPipe 读/写操作都会完成并被证实。这导致 NamedPipe 的底层句柄永远无法关闭。
内容来源: tokio-rs/mio