diff options
Diffstat (limited to 'src/sys/signal.rs')
-rw-r--r-- | src/sys/signal.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/sys/signal.rs b/src/sys/signal.rs index 15205502..731eecd0 100644 --- a/src/sys/signal.rs +++ b/src/sys/signal.rs @@ -56,6 +56,7 @@ pub mod signal { use libc; bitflags!( + #[deriving(Copy)] flags SockFlag: libc::c_ulong { const SA_NOCLDSTOP = 0x00000001, const SA_NOCLDWAIT = 0x00000002, @@ -95,6 +96,7 @@ pub mod signal { // actually a giant union. Currently we're only interested in these fields, // however. #[repr(C)] + #[deriving(Copy)] pub struct siginfo { si_signo: libc::c_int, si_errno: libc::c_int, @@ -105,6 +107,7 @@ pub mod signal { } #[repr(C)] + #[allow(missing_copy_implementations)] pub struct sigaction { pub sa_handler: extern fn(libc::c_int), pub sa_mask: sigset_t, @@ -114,12 +117,14 @@ pub mod signal { #[repr(C)] #[cfg(target_word_size = "32")] + #[deriving(Copy)] pub struct sigset_t { __val: [libc::c_ulong, ..32], } #[repr(C)] #[cfg(target_word_size = "64")] + #[deriving(Copy)] pub struct sigset_t { __val: [libc::c_ulong, ..16], } @@ -290,6 +295,7 @@ mod ffi { } } +#[deriving(Copy)] pub struct SigSet { sigset: sigset_t } |