summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Matthias Schaefer <philipp.matthias.schaefer@posteo.de>2016-09-15 22:07:43 +0200
committerPhilipp Matthias Schaefer <philipp.matthias.schaefer@posteo.de>2016-09-15 22:07:43 +0200
commitc9edda389b5edba97165c887aea6f4e5d11541a2 (patch)
treed759f24bac35fee4781791bc1da1b006052c9166
parent584794d79125f65537d993ae8acd1ea9e981ad0a (diff)
downloadnix-c9edda389b5edba97165c887aea6f4e5d11541a2.zip
Add EpollCrateFlags bitflag type.
-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)
}