diff options
author | Jesse Luehrs <doy@tozt.net> | 2021-12-29 21:38:22 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2021-12-29 21:38:22 -0500 |
commit | f1779c4549c88e7996031b7211a556e8e4b54963 (patch) | |
tree | 414aebffb9bd5494abe2374f7c5d436e7b2150b9 /src/blocking/pty.rs | |
parent | c9b4ff92040d02b3dd3d050c41e148b2fa8e6b60 (diff) | |
download | pty-process-f1779c4549c88e7996031b7211a556e8e4b54963.tar.gz pty-process-f1779c4549c88e7996031b7211a556e8e4b54963.zip |
i don't think we need to open pts multiple times?
Diffstat (limited to 'src/blocking/pty.rs')
-rw-r--r-- | src/blocking/pty.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/blocking/pty.rs b/src/blocking/pty.rs index 6b1a2a3..d864bd6 100644 --- a/src/blocking/pty.rs +++ b/src/blocking/pty.rs @@ -1,24 +1,24 @@ pub struct Pty { pt: 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()?; - 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 } } |