diff options
author | Zac Berkowitz <zac.berkowitz@gmail.com> | 2017-02-26 21:28:00 +0000 |
---|---|---|
committer | Bryant Mairs <bryant@mai.rs> | 2017-04-09 07:41:58 -0700 |
commit | 219671727fdb354a87d6bf453ced0cdb16bbd232 (patch) | |
tree | 9d248eba3ab21d9e359997dd1671c008a8538a47 /src/sys/event.rs | |
parent | a859ee3c9396dfdb118fcc2c8ecc697e2d303467 (diff) | |
download | nix-219671727fdb354a87d6bf453ced0cdb16bbd232.zip |
Fixes nix-rust/nix#532
Diffstat (limited to 'src/sys/event.rs')
-rw-r--r-- | src/sys/event.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/sys/event.rs b/src/sys/event.rs index 3e2a6d43..494c12dd 100644 --- a/src/sys/event.rs +++ b/src/sys/event.rs @@ -22,8 +22,14 @@ pub struct KEvent { target_os = "dragonfly", target_os = "macos", target_os = "ios"))] type type_of_udata = *mut ::c_void; +#[cfg(any(target_os = "openbsd", target_os = "freebsd", + target_os = "dragonfly", target_os = "macos", + target_os = "ios"))] +type type_of_data = libc::intptr_t; #[cfg(any(target_os = "netbsd"))] type type_of_udata = intptr_t; +#[cfg(any(target_os = "netbsd"))] +type type_of_data = libc::int64_t; #[cfg(not(target_os = "netbsd"))] type type_of_event_filter = i16; @@ -58,9 +64,9 @@ pub enum EventFilter { } #[cfg(target_os = "netbsd")] -type type_of_event_filter = i32; +type type_of_event_filter = libc::uint32_t; #[cfg(target_os = "netbsd")] -#[repr(u32)] +#[repr(i32)] #[derive(Clone, Copy, Debug, PartialEq)] pub enum EventFilter { EVFILT_READ = libc::EVFILT_READ, @@ -216,7 +222,7 @@ impl KEvent { filter: filter as type_of_event_filter, flags: flags.bits(), fflags: fflags.bits(), - data: data, + data: data as type_of_data, udata: udata as type_of_udata } } } @@ -238,7 +244,7 @@ impl KEvent { } pub fn data(&self) -> intptr_t { - self.kevent.data + self.kevent.data as intptr_t } pub fn udata(&self) -> intptr_t { |