diff options
Diffstat (limited to 'runtime/ops/io.rs')
-rw-r--r-- | runtime/ops/io.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/runtime/ops/io.rs b/runtime/ops/io.rs index 2dcb9964a..900be1034 100644 --- a/runtime/ops/io.rs +++ b/runtime/ops/io.rs @@ -582,6 +582,16 @@ impl Resource for StdFileResource { fn write(self: Rc<Self>, buf: ZeroCopyBuf) -> AsyncResult<usize> { Box::pin(self.write(buf)) } + + #[cfg(unix)] + fn backing_fd(self: Rc<Self>) -> Option<std::os::unix::prelude::RawFd> { + use std::os::unix::io::AsRawFd; + self + .with_inner_and_metadata(move |std_file, _| { + Ok(std_file.with_file(|f| f.as_raw_fd())) + }) + .ok() + } } // override op_print to use the stdout and stderr in the resource table |