Pad RlctAttr for 32-bit systems
This commit is contained in:
@@ -16,7 +16,7 @@ use core::sync::atomic::{AtomicU32 as AtomicUint, AtomicI32 as AtomicInt};
|
||||
#[repr(C)]
|
||||
pub union pthread_attr_t {
|
||||
__relibc_internal_size: [c_uchar; 32],
|
||||
__relibc_internal_align: c_long,
|
||||
__relibc_internal_align: size_t,
|
||||
}
|
||||
#[repr(C)]
|
||||
pub union pthread_rwlockattr_t {
|
||||
@@ -88,7 +88,7 @@ macro_rules! assert_equal_size(
|
||||
#[cfg(all(target_os = "redox", feature = "check_against_libc_crate"))]
|
||||
const _: () = unsafe {
|
||||
let export = $export { __relibc_internal_align: 0 };
|
||||
let _: libc::$export = core::mem::transmute(export.__relibc_internal_size);
|
||||
let _: libc::$export = core::mem::transmute(export.__relibc_internal_size);
|
||||
|
||||
let a = [0_u8; core::mem::align_of::<$export>()];
|
||||
let b: [u8; core::mem::align_of::<libc::$export>()] = core::mem::transmute(a);
|
||||
|
||||
@@ -22,7 +22,9 @@ impl Default for RlctAttr {
|
||||
param: sched_param {
|
||||
// TODO
|
||||
sched_priority: 0,
|
||||
}
|
||||
},
|
||||
#[cfg(target_pointer_width = "32")]
|
||||
_pad: [0; 12],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,8 @@ pub(crate) struct RlctAttr {
|
||||
pub stacksize: size_t,
|
||||
pub stack: size_t,
|
||||
pub param: sched_param,
|
||||
#[cfg(target_pointer_width = "32")]
|
||||
_pad: [u8; 12],
|
||||
}
|
||||
|
||||
pub const PTHREAD_BARRIER_SERIAL_THREAD: c_int = -1;
|
||||
|
||||
Reference in New Issue
Block a user