diff --git a/src/scheme/root.rs b/src/scheme/root.rs index b34a504..42bcaad 100644 --- a/src/scheme/root.rs +++ b/src/scheme/root.rs @@ -184,6 +184,9 @@ impl Scheme for RootScheme { } fn close(&self, file: usize) -> Result { - self.handles.write().remove(&file).ok_or(Error::new(EBADF)).and(Ok(0)) + if self.handles.write().remove(&file).is_none() { + self.ls_handles.write().remove(&file).ok_or(Error::new(EBADF))?; + } + Ok(0) } }