summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sys/epoll.rs10
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)
}