Move unique_thread_exit call to lang_start_internal so it is not in a… · model-checking/verify-rust-std@079f999 (original) (raw)

Original file line number Diff line number Diff line change
@@ -144,6 +144,10 @@ fn lang_start_internal(
144 144 rtabort!("drop of the panic payload panicked");
145 145 });
146 146 panic::catch_unwind(cleanup).map_err(rt_abort)?;
147 +// Guard against multple threads calling `libc::exit` concurrently.
148 +// See the documentation for `unique_thread_exit` for more information.
149 + panic::catch_unwind(|
150 +.map_err(rt_abort)?;
147 151 ret_code
148 152 }
149 153
@@ -161,8 +165,5 @@ fn lang_start<T: crate::process::Termination + 'static>(
161 165 argv,
162 166 sigpipe,
163 167 );
164 -// Guard against multple threads calling `libc::exit` concurrently.
165 -// See the documentation for `unique_thread_exit` for more information.
166 -crate::sys::common::exit_guard::unique_thread_exit();
167 168 v
168 169 }