diff options
Diffstat (limited to 'src/pty.rs')
-rw-r--r-- | src/pty.rs | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -1,25 +1,25 @@ pub struct Pty { pt: async_io::Async<std::fs::File>, - ptsname: std::path::PathBuf, + pts: std::fs::File, } impl Pty { pub fn new() -> crate::Result<Self> { let (pt, ptsname) = crate::sys::create_pt()?; let pt = async_io::Async::new(pt)?; - Ok(Self { pt, ptsname }) + let pts = std::fs::OpenOptions::new() + .read(true) + .write(true) + .open(&ptsname)?; + Ok(Self { pt, pts }) } pub fn resize(&self, size: crate::Size) -> crate::Result<()> { Ok(crate::sys::set_term_size(self, size)?) } - pub(crate) fn pts(&self) -> std::io::Result<std::fs::File> { - let fh = std::fs::OpenOptions::new() - .read(true) - .write(true) - .open(&self.ptsname)?; - Ok(fh) + pub(crate) fn pts(&self) -> &std::fs::File { + &self.pts } } |