Skip to content

Commit 2fcc1f6

Browse files
authored
Merge pull request #1765 from swsnr/as-fd-file-descriptor-based
Impl AsFd for FileDescriptorBased
2 parents bea0dab + 37c825b commit 2fcc1f6

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

gio/src/file_descriptor_based.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// Take a look at the license at the top of the repository in the LICENSE file.
22

33
#[cfg(unix)]
4-
use std::os::unix::io::{AsRawFd, FromRawFd, RawFd};
4+
use std::os::unix::io::{AsFd, AsRawFd, BorrowedFd, FromRawFd, RawFd};
55

66
use crate::ffi;
77
use glib::{prelude::*, translate::*};
88
#[cfg(all(not(unix), docsrs))]
9-
use socket::{AsRawFd, FromRawFd, IntoRawFd, RawFd};
9+
use socket::{AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, RawFd};
1010

1111
glib::wrapper! {
1212
#[doc(alias = "GFileDescriptorBased")]
@@ -27,6 +27,12 @@ impl AsRawFd for FileDescriptorBased {
2727
}
2828
}
2929

30+
impl AsFd for FileDescriptorBased {
31+
fn as_fd(&self) -> BorrowedFd<'_> {
32+
unsafe { BorrowedFd::borrow_raw(self.as_raw_fd()) }
33+
}
34+
}
35+
3036
pub trait FileDescriptorBasedExtManual: IsA<FileDescriptorBased> + 'static {
3137
#[doc(alias = "g_file_descriptor_based_get_fd")]
3238
#[doc(alias = "get_fd")]

0 commit comments

Comments
 (0)