From 604364fcf44e0843e4ea9818daaf97418da233d5 Mon Sep 17 00:00:00 2001 From: xizheyin Date: Wed, 19 Feb 2025 13:20:03 +0800 Subject: [PATCH] remove assume_init in stack_overflow Signed-off-by: xizheyin --- library/std/src/sys/pal/unix/stack_overflow.rs | 15 +++++++++------ library/std/src/sys/pal/unix/thread.rs | 1 - 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/library/std/src/sys/pal/unix/stack_overflow.rs b/library/std/src/sys/pal/unix/stack_overflow.rs index 1ccf2011ea1..0550223eb9a 100644 --- a/library/std/src/sys/pal/unix/stack_overflow.rs +++ b/library/std/src/sys/pal/unix/stack_overflow.rs @@ -319,26 +319,29 @@ mod imp { ))] unsafe fn get_stack_start() -> Option<*mut libc::c_void> { let mut ret = None; - let attr: mem::MaybeUninit = if cfg!(target_os = "freebsd") { + let mut attr: mem::MaybeUninit = if cfg!(target_os = "freebsd") { let mut attr = mem::MaybeUninit::uninit(); assert_eq!(libc::pthread_attr_init((&raw mut attr) as *mut _), 0); attr } else { mem::MaybeUninit::zeroed() }; - let mut attr = unsafe { attr.assume_init() }; + #[cfg(target_os = "freebsd")] - let e = libc::pthread_attr_get_np(libc::pthread_self(), &mut attr); + let e = libc::pthread_attr_get_np(libc::pthread_self(), attr.as_mut_ptr()); #[cfg(not(target_os = "freebsd"))] - let e = libc::pthread_getattr_np(libc::pthread_self(), &mut attr); + let e = libc::pthread_getattr_np(libc::pthread_self(), attr.as_mut_ptr()); if e == 0 { let mut stackaddr = crate::ptr::null_mut(); let mut stacksize = 0; - assert_eq!(libc::pthread_attr_getstack(&attr, &mut stackaddr, &mut stacksize), 0); + assert_eq!( + libc::pthread_attr_getstack(attr.as_ptr(), &mut stackaddr, &mut stacksize), + 0 + ); ret = Some(stackaddr); } if e == 0 || cfg!(target_os = "freebsd") { - assert_eq!(libc::pthread_attr_destroy(&mut attr), 0); + assert_eq!(libc::pthread_attr_destroy(attr.as_mut_ptr()), 0); } ret } diff --git a/library/std/src/sys/pal/unix/thread.rs b/library/std/src/sys/pal/unix/thread.rs index d476f6600bf..e23d3d6d647 100644 --- a/library/std/src/sys/pal/unix/thread.rs +++ b/library/std/src/sys/pal/unix/thread.rs @@ -51,7 +51,6 @@ impl Thread { let mut native: libc::pthread_t = mem::zeroed(); let mut attr: mem::MaybeUninit = mem::MaybeUninit::uninit(); assert_eq!(libc::pthread_attr_init(attr.as_mut_ptr()), 0); - //let mut attr: libc::pthread_attr_t = unsafe { attr.assume_init() }; #[cfg(target_os = "espidf")] if stack > 0 {