From cf470197addb37146eb2e0d16f14dd14293d91f0 Mon Sep 17 00:00:00 2001 From: Christiaan Dirkx Date: Sun, 11 Apr 2021 23:20:01 +0200 Subject: [PATCH] Move all cleanup to `sys::cleanup` --- library/std/src/sys/hermit/mod.rs | 4 +++- library/std/src/sys/hermit/stack_overflow.rs | 3 --- library/std/src/sys/sgx/args.rs | 2 -- library/std/src/sys/sgx/stack_overflow.rs | 2 -- library/std/src/sys/unix/mod.rs | 5 ++++- library/std/src/sys/unsupported/args.rs | 1 - library/std/src/sys/unsupported/stack_overflow.rs | 2 -- library/std/src/sys/wasi/args.rs | 2 -- library/std/src/sys/wasm/args.rs | 2 -- library/std/src/sys/windows/args.rs | 2 -- library/std/src/sys/windows/stack_overflow.rs | 2 -- library/std/src/sys/windows/stack_overflow_uwp.rs | 2 -- library/std/src/sys_common/rt.rs | 2 -- 13 files changed, 7 insertions(+), 24 deletions(-) diff --git a/library/std/src/sys/hermit/mod.rs b/library/std/src/sys/hermit/mod.rs index ebfc39bdef3..3da865021f3 100644 --- a/library/std/src/sys/hermit/mod.rs +++ b/library/std/src/sys/hermit/mod.rs @@ -102,7 +102,9 @@ pub unsafe fn init() { } // SAFETY: must be called only once during runtime cleanup. -pub unsafe fn cleanup() {} +pub unsafe fn cleanup() { + args::cleanup(); +} #[cfg(not(test))] #[no_mangle] diff --git a/library/std/src/sys/hermit/stack_overflow.rs b/library/std/src/sys/hermit/stack_overflow.rs index 121fe42011d..f276799661e 100644 --- a/library/std/src/sys/hermit/stack_overflow.rs +++ b/library/std/src/sys/hermit/stack_overflow.rs @@ -1,5 +1,2 @@ #[inline] pub unsafe fn init() {} - -#[inline] -pub unsafe fn cleanup() {} diff --git a/library/std/src/sys/sgx/args.rs b/library/std/src/sys/sgx/args.rs index 2d2e692ec7d..7f484b6d136 100644 --- a/library/std/src/sys/sgx/args.rs +++ b/library/std/src/sys/sgx/args.rs @@ -22,8 +22,6 @@ pub unsafe fn init(argc: isize, argv: *const *const u8) { } } -pub unsafe fn cleanup() {} - pub fn args() -> Args { let args = unsafe { (ARGS.load(Ordering::Relaxed) as *const ArgsStore).as_ref() }; if let Some(args) = args { Args(args.iter()) } else { Args([].iter()) } diff --git a/library/std/src/sys/sgx/stack_overflow.rs b/library/std/src/sys/sgx/stack_overflow.rs index b96652a8330..1ca5810e61b 100644 --- a/library/std/src/sys/sgx/stack_overflow.rs +++ b/library/std/src/sys/sgx/stack_overflow.rs @@ -1,4 +1,2 @@ #[cfg_attr(test, allow(dead_code))] pub unsafe fn init() {} - -pub unsafe fn cleanup() {} diff --git a/library/std/src/sys/unix/mod.rs b/library/std/src/sys/unix/mod.rs index 3b86d373796..fd74c10ecd7 100644 --- a/library/std/src/sys/unix/mod.rs +++ b/library/std/src/sys/unix/mod.rs @@ -126,7 +126,10 @@ pub unsafe fn init() { } // SAFETY: must be called only once during runtime cleanup. -pub unsafe fn cleanup() {} +pub unsafe fn cleanup() { + args::cleanup(); + stack_overflow::cleanup(); +} #[cfg(target_os = "android")] pub use crate::sys::android::signal; diff --git a/library/std/src/sys/unsupported/args.rs b/library/std/src/sys/unsupported/args.rs index 71d0c5fa13e..f9d41c6cda6 100644 --- a/library/std/src/sys/unsupported/args.rs +++ b/library/std/src/sys/unsupported/args.rs @@ -1,7 +1,6 @@ use crate::ffi::OsString; pub unsafe fn init(_argc: isize, _argv: *const *const u8) {} -pub unsafe fn cleanup() {} pub struct Args {} diff --git a/library/std/src/sys/unsupported/stack_overflow.rs b/library/std/src/sys/unsupported/stack_overflow.rs index 32555394cd5..2461fc2dad7 100644 --- a/library/std/src/sys/unsupported/stack_overflow.rs +++ b/library/std/src/sys/unsupported/stack_overflow.rs @@ -1,3 +1 @@ pub unsafe fn init() {} - -pub unsafe fn cleanup() {} diff --git a/library/std/src/sys/wasi/args.rs b/library/std/src/sys/wasi/args.rs index 9a27218e1fb..7f7f989e2ae 100644 --- a/library/std/src/sys/wasi/args.rs +++ b/library/std/src/sys/wasi/args.rs @@ -7,8 +7,6 @@ use crate::vec; pub unsafe fn init(_argc: isize, _argv: *const *const u8) {} -pub unsafe fn cleanup() {} - pub struct Args { iter: vec::IntoIter, _dont_send_or_sync_me: PhantomData<*mut ()>, diff --git a/library/std/src/sys/wasm/args.rs b/library/std/src/sys/wasm/args.rs index 3b6557ae325..987585af2d5 100644 --- a/library/std/src/sys/wasm/args.rs +++ b/library/std/src/sys/wasm/args.rs @@ -6,8 +6,6 @@ pub unsafe fn init(_argc: isize, _argv: *const *const u8) { // On wasm these should always be null, so there's nothing for us to do here } -pub unsafe fn cleanup() {} - pub fn args() -> Args { Args { iter: Vec::new().into_iter(), _dont_send_or_sync_me: PhantomData } } diff --git a/library/std/src/sys/windows/args.rs b/library/std/src/sys/windows/args.rs index bcc2ea9ae00..7ec3c592ada 100644 --- a/library/std/src/sys/windows/args.rs +++ b/library/std/src/sys/windows/args.rs @@ -16,8 +16,6 @@ use core::iter; pub unsafe fn init(_argc: isize, _argv: *const *const u8) {} -pub unsafe fn cleanup() {} - pub fn args() -> Args { unsafe { let lp_cmd_line = c::GetCommandLineW(); diff --git a/library/std/src/sys/windows/stack_overflow.rs b/library/std/src/sys/windows/stack_overflow.rs index 187ad4e66c3..39efb778207 100644 --- a/library/std/src/sys/windows/stack_overflow.rs +++ b/library/std/src/sys/windows/stack_overflow.rs @@ -37,5 +37,3 @@ pub unsafe fn init() { // Set the thread stack guarantee for the main thread. let _h = Handler::new(); } - -pub unsafe fn cleanup() {} diff --git a/library/std/src/sys/windows/stack_overflow_uwp.rs b/library/std/src/sys/windows/stack_overflow_uwp.rs index e7236cf359c..afdf7f566ae 100644 --- a/library/std/src/sys/windows/stack_overflow_uwp.rs +++ b/library/std/src/sys/windows/stack_overflow_uwp.rs @@ -9,5 +9,3 @@ impl Handler { } pub unsafe fn init() {} - -pub unsafe fn cleanup() {} diff --git a/library/std/src/sys_common/rt.rs b/library/std/src/sys_common/rt.rs index 2635aea68c9..515e754b416 100644 --- a/library/std/src/sys_common/rt.rs +++ b/library/std/src/sys_common/rt.rs @@ -36,8 +36,6 @@ pub fn cleanup() { CLEANUP.call_once(|| unsafe { // SAFETY: Only called once during runtime cleanup. sys::cleanup(); - sys::args::cleanup(); - sys::stack_overflow::cleanup(); // Flush stdout and disable buffering. crate::io::cleanup(); });