about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristiaan Dirkx <christiaan@dirkx.email>2021-04-11 23:20:01 +0200
committerChristiaan Dirkx <christiaan@dirkx.email>2021-04-22 10:44:44 +0200
commitcf470197addb37146eb2e0d16f14dd14293d91f0 (patch)
treed6cb9c36275d7d3269b8704ed52c2cc713c8681d
parent5b30662741afdb59865ecefe3026fcaf1f853c7d (diff)
downloadrust-cf470197addb37146eb2e0d16f14dd14293d91f0.tar.gz
rust-cf470197addb37146eb2e0d16f14dd14293d91f0.zip
Move all cleanup to `sys::cleanup`
-rw-r--r--library/std/src/sys/hermit/mod.rs4
-rw-r--r--library/std/src/sys/hermit/stack_overflow.rs3
-rw-r--r--library/std/src/sys/sgx/args.rs2
-rw-r--r--library/std/src/sys/sgx/stack_overflow.rs2
-rw-r--r--library/std/src/sys/unix/mod.rs5
-rw-r--r--library/std/src/sys/unsupported/args.rs1
-rw-r--r--library/std/src/sys/unsupported/stack_overflow.rs2
-rw-r--r--library/std/src/sys/wasi/args.rs2
-rw-r--r--library/std/src/sys/wasm/args.rs2
-rw-r--r--library/std/src/sys/windows/args.rs2
-rw-r--r--library/std/src/sys/windows/stack_overflow.rs2
-rw-r--r--library/std/src/sys/windows/stack_overflow_uwp.rs2
-rw-r--r--library/std/src/sys_common/rt.rs2
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<OsString>,
     _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();
     });