diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/sched.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sched.rs b/src/sched.rs index 4af33203..66b4ed4f 100644 --- a/src/sched.rs +++ b/src/sched.rs @@ -114,8 +114,9 @@ pub fn clone(mut cb: CloneCb, let res = unsafe { let combined = flags.bits() | signal.unwrap_or(0); let ptr = stack.as_mut_ptr().offset(stack.len() as isize); + let ptr_aligned = ptr.offset((ptr as usize % 16) as isize * -1); ffi::clone(mem::transmute(callback as extern "C" fn(*mut Box<::std::ops::FnMut() -> isize>) -> i32), - ptr as *mut c_void, + ptr_aligned as *mut c_void, combined, &mut cb) }; |