Skip to content

Commit ebf9a02

Browse files
NathanFlurryclaude
andcommitted
Add VirtualPipe support to InodeValFilePollGuard
VirtualPipeTx and VirtualPipeRx were not handled in InodeValFilePollGuard::new(), causing poll_oneoff to return Errno::Badf when polling on VirtualPipe fds. Since VirtualPipe types implement VirtualFile, they can use the existing File poll guard mode. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent c2b19b8 commit ebf9a02

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

lib/wasix/src/fs/inode_guard.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ impl InodeValFilePollGuard {
6767
Kind::DuplexPipe { pipe } => InodeValFilePollGuardMode::DuplexPipe {
6868
pipe: Arc::new(RwLock::new(Box::new(pipe.clone()))),
6969
},
70+
// VirtualPipe types are VirtualFile implementations, so use File mode
71+
Kind::VirtualPipeTx { tx } => InodeValFilePollGuardMode::File(tx.clone()),
72+
Kind::VirtualPipeRx { rx } => InodeValFilePollGuardMode::File(rx.clone()),
7073
_ => {
7174
return None;
7275
}

0 commit comments

Comments
 (0)