From f37e45628e44d86c16a6f02b38ea0a9d68e8b3d4 Mon Sep 17 00:00:00 2001 From: Michael Neumann Date: Wed, 9 Sep 2015 20:16:42 +0200 Subject: Add/Fix support for DragonFly BSD --- src/sys/signal.rs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/sys/signal.rs') diff --git a/src/sys/signal.rs b/src/sys/signal.rs index 4a54c5d4..5f51bd11 100644 --- a/src/sys/signal.rs +++ b/src/sys/signal.rs @@ -241,15 +241,22 @@ pub mod signal { #[cfg(any(target_os = "macos", target_os = "ios", target_os = "openbsd"))] pub type sigset_t = u32; - #[cfg(any(target_os = "freebsd", target_os = "dragonfly"))] + #[cfg(target_os = "freebsd")] #[repr(C)] #[derive(Clone, Copy)] pub struct sigset_t { bits: [u32; 4], } + #[cfg(target_os = "dragonfly")] + #[repr(C)] + #[derive(Clone, Copy)] + pub struct sigset_t { + bits: [libc::c_uint; 4], + } // This structure has more fields, but we're not all that interested in // them. + #[cfg(not(target_os = "dragonfly"))] #[repr(C)] #[derive(Clone, Copy)] pub struct siginfo { @@ -261,6 +268,18 @@ pub mod signal { pub status: libc::c_int, } + #[cfg(target_os = "dragonfly")] + #[repr(C)] + #[derive(Clone, Copy)] + pub struct siginfo { + pub si_signo: libc::c_int, + pub si_errno: libc::c_int, + pub si_code: libc::c_int, + pub pid: libc::c_int, + pub uid: libc::c_uint, + pub status: libc::c_int, + } + #[cfg(any(target_os = "macos", target_os = "ios"))] #[repr(C)] #[allow(missing_copy_implementations)] -- cgit v1.2.3