std::unix::stack_overflow::drop_handler addressing todo through libc update

This commit is contained in:
David Carlier 2024-06-09 21:28:03 +01:00
parent 86bd45979a
commit e569c5c92f
No known key found for this signature in database
GPG Key ID: 8486F847B4B94EF1

View File

@ -265,9 +265,7 @@ pub unsafe fn drop_handler(data: *mut libc::c_void) {
/// Modern kernels on modern hardware can have dynamic signal stack sizes.
#[cfg(any(target_os = "linux", target_os = "android"))]
fn sigstack_size() -> usize {
// FIXME: reuse const from libc when available?
const AT_MINSIGSTKSZ: crate::ffi::c_ulong = 51;
let dynamic_sigstksz = unsafe { libc::getauxval(AT_MINSIGSTKSZ) };
let dynamic_sigstksz = unsafe { libc::getauxval(libc::AT_MINSIGSTKSZ) };
// If getauxval couldn't find the entry, it returns 0,
// so take the higher of the "constant" and auxval.
// This transparently supports older kernels which don't provide AT_MINSIGSTKSZ