diff options
-rw-r--r-- | src/sys/epoll.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/sys/epoll.rs b/src/sys/epoll.rs index 51f789a2..8e18d857 100644 --- a/src/sys/epoll.rs +++ b/src/sys/epoll.rs @@ -31,6 +31,12 @@ pub enum EpollOp { EpollCtlMod = 3 } +libc_bitflags!{ + flags EpollCreateFlags: c_int { + EPOLL_CLOEXEC, + } +} + #[derive(Clone, Copy)] #[repr(C)] pub struct EpollEvent { @@ -59,8 +65,8 @@ pub fn epoll_create() -> Result<RawFd> { } #[inline] -pub fn epoll_create1(flags: c_int) -> Result<RawFd> { - let res = unsafe { libc::epoll_create1(flags) }; +pub fn epoll_create1(flags: EpollCreateFlags) -> Result<RawFd> { + let res = unsafe { libc::epoll_create1(flags.bits()) }; Errno::result(res) } |