aboutsummaryrefslogtreecommitdiff
path: root/src/sys/eventfd.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys/eventfd.rs')
-rw-r--r--src/sys/eventfd.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/sys/eventfd.rs b/src/sys/eventfd.rs
index cd90672..f172351 100644
--- a/src/sys/eventfd.rs
+++ b/src/sys/eventfd.rs
@@ -1,6 +1,6 @@
use crate::errno::Errno;
use crate::Result;
-use std::os::unix::io::RawFd;
+use std::os::unix::io::{FromRawFd, OwnedFd};
libc_bitflags! {
pub struct EfdFlags: libc::c_int {
@@ -10,8 +10,8 @@ libc_bitflags! {
}
}
-pub fn eventfd(initval: libc::c_uint, flags: EfdFlags) -> Result<RawFd> {
+pub fn eventfd(initval: libc::c_uint, flags: EfdFlags) -> Result<OwnedFd> {
let res = unsafe { libc::eventfd(initval, flags.bits()) };
- Errno::result(res).map(|r| r as RawFd)
+ Errno::result(res).map(|r| unsafe { OwnedFd::from_raw_fd(r) })
}