文件: core/watcher/file_watcher.rs:65-98 分类: 并发 / 通道
core/watcher/file_watcher.rs:65-98
问题: notify 回调在 notify 内部线程中调用阻塞 tx.send(),通道容量 100。如果消费者停止消费(UI 冻结),回调会无限阻塞,导致 Drop/shutdown 延迟,后续事件全部丢失。
tx.send()
let (tx, rx) = bounded(100); // 在 notify 回调中: let _ = tx.send(FileEvent::Removed); // ← 可能阻塞 notify 线程
建议修复: 改用 try_send,或使用非阻塞/无界通道加显式背压策略。
try_send
No dependencies set.
The note is not visible to the blocked user.
文件:
core/watcher/file_watcher.rs:65-98分类: 并发 / 通道
问题: notify 回调在 notify 内部线程中调用阻塞
tx.send(),通道容量 100。如果消费者停止消费(UI 冻结),回调会无限阻塞,导致 Drop/shutdown 延迟,后续事件全部丢失。建议修复: 改用
try_send,或使用非阻塞/无界通道加显式背压策略。