@@ -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 |
} |