Skip to content

Commit 391a364

Browse files
authored
feat: impl AsFd for PtyMaster (#2355)
Fixes #2354
1 parent 0517893 commit 391a364

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

changelog/2355.added.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Added `impl AsFd for pty::PtyMaster`

src/pty.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@ impl AsRawFd for PtyMaster {
5858
}
5959
}
6060

61+
impl AsFd for PtyMaster {
62+
fn as_fd(&self) -> BorrowedFd<'_> {
63+
self.0.as_fd()
64+
}
65+
}
66+
6167
impl IntoRawFd for PtyMaster {
6268
fn into_raw_fd(self) -> RawFd {
6369
let fd = self.0;

test/test_pty.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ use nix::unistd::{pause, write};
1717
fn test_ptsname_equivalence() {
1818
let _m = crate::PTSNAME_MTX.lock();
1919

20-
// Open a new PTTY master
20+
// Open a new PTY master
2121
let master_fd = posix_openpt(OFlag::O_RDWR).unwrap();
2222
assert!(master_fd.as_raw_fd() > 0);
23+
assert!(master_fd.as_fd().as_raw_fd() == master_fd.as_raw_fd());
2324

2425
// Get the name of the slave
2526
let slave_name = unsafe { ptsname(&master_fd) }.unwrap();

0 commit comments

Comments
 (0)