Fix mq_attr for linux x32

This commit is contained in:
Marco A L Barbosa 2017-10-18 10:33:20 -02:00
parent 968bce4ed4
commit 477425435a

View File

@ -213,12 +213,30 @@ s! {
__val: [::c_int; 2], __val: [::c_int; 2],
} }
// x32 compatibility
// See https://sourceware.org/bugzilla/show_bug.cgi?id=21279
pub struct mq_attr { pub struct mq_attr {
#[cfg(target_arch = "x86_64")]
pub mq_flags: i64,
#[cfg(target_arch = "x86_64")]
pub mq_maxmsg: i64,
#[cfg(target_arch = "x86_64")]
pub mq_msgsize: i64,
#[cfg(target_arch = "x86_64")]
pub mq_curmsgs: i64,
#[cfg(target_arch = "x86_64")]
pad: [i64; 4],
#[cfg(not(target_arch = "x86_64"))]
pub mq_flags: ::c_long, pub mq_flags: ::c_long,
#[cfg(not(target_arch = "x86_64"))]
pub mq_maxmsg: ::c_long, pub mq_maxmsg: ::c_long,
#[cfg(not(target_arch = "x86_64"))]
pub mq_msgsize: ::c_long, pub mq_msgsize: ::c_long,
#[cfg(not(target_arch = "x86_64"))]
pub mq_curmsgs: ::c_long, pub mq_curmsgs: ::c_long,
pad: [::c_long; 4] #[cfg(not(target_arch = "x86_64"))]
pad: [::c_long; 4],
} }
pub struct cpu_set_t { pub struct cpu_set_t {