diff --git a/src/mount/redox/scheme.rs b/src/mount/redox/scheme.rs index 8d5dc9fbc1bf0c65c6ede5c0dde1ae17967ff6bd..e905e39c99aa6f9589eb9b382e388ccb2043b5e7 100644 --- a/src/mount/redox/scheme.rs +++ b/src/mount/redox/scheme.rs @@ -494,6 +494,16 @@ impl<D: Disk> Scheme for FileScheme<D> { } } + fn fevent(&self, id: usize, flags: usize) -> Result<usize> { + let files = self.files.borrow_mut(); + if let Some(file) = files.get(&id) { + // EPERM is returned for files that are always readable or writable + Err(Error::new(EPERM)) + } else { + Err(Error::new(EBADF)) + } + } + fn fpath(&self, id: usize, buf: &mut [u8]) -> Result<usize> { // println!("Fpath {}, {:X} {}", id, buf.as_ptr() as usize, buf.len()); let files = self.files.borrow_mut();