diff --git a/redox-rt/src/sys.rs b/redox-rt/src/sys.rs index 05b039808d..80e3105662 100644 --- a/redox-rt/src/sys.rs +++ b/redox-rt/src/sys.rs @@ -564,6 +564,6 @@ pub fn fstat(fd: usize, stat: &mut syscall::Stat) -> Result { pub fn fcntl(fd: usize, cmd: usize, arg: usize) -> Result { let _siglock = tmp_disable_signals(); - let guard = FdGuard::new(syscall::fcntl(fd, cmd, arg)).map_err(|e| Error::new(e.errno))?; - Ok(guard.as_raw_fd()) + let raw_fd = syscall::fcntl(fd, cmd, arg)?; + Ok(FdGuard::new(raw_fd).as_raw_fd()) }