rust/library/std/src
许杰友 Jieyou Xu (Joe) 31b4023e24
Rollup merge of #132730 - joboet:after_main_sync, r=Noratrieb
std: allow after-main use of synchronization primitives

By creating an unnamed thread handle when the actual one has already been destroyed, synchronization primitives using thread parking can be used even outside the Rust runtime.

This also fixes an inefficiency in the queue-based `RwLock`: if `thread::current` was not initialized yet, it will create a new handle on every parking attempt without initializing `thread::current`. The private `current_or_unnamed` function introduced here fixes this.
2024-11-25 00:39:03 +08:00
..
backtrace
collections Improve {BTreeMap,HashMap}::get_key_value docs. 2024-11-18 16:53:12 +11:00
env Fix std tests for wasm32-wasip2 target 2024-09-29 04:48:13 +02:00
error Reformat use declarations. 2024-07-29 08:26:52 +10:00
f16 std float tests: special-case Miri in feature detection 2024-08-08 12:17:50 +02:00
f32 these tests seem to work fine on i586 these days 2024-09-10 15:57:40 -07:00
f64 these tests seem to work fine on i586 these days 2024-09-10 15:57:40 -07:00
f128 Separate f128 % operation to deal with missing fmodl symbol 2024-11-07 11:33:10 +01:00
ffi implement OsString::truncate 2024-11-20 15:16:05 -06:00
fs Fix compilation error on Solaris due to flock usage 2024-11-13 06:53:19 -08:00
hash remove const_hash feature leftovers 2024-11-02 11:27:14 +01:00
io Rollup merge of #130800 - bjoernager:const-mut-cursor, r=joshtriplett 2024-11-20 20:10:12 +01:00
net Rollup merge of #129638 - nickrum:wasip2-net, r=alexcrichton 2024-09-30 19:18:49 -04:00
num
os library: update comment around close() 2024-11-22 08:43:51 +01:00
panic
path Make CloneToUninit dyn-compatible 2024-11-12 15:08:41 -06:00
pipe Cleanup sys module to match house style 2024-07-30 19:22:54 +00:00
prelude Add AsyncFn* to to the prelude in all editions 2024-11-04 17:50:29 +00:00
process [musl] use posix_spawn if a directory change was requested 2024-10-23 22:11:55 -07:00
sync Rollup merge of #132730 - joboet:after_main_sync, r=Noratrieb 2024-11-25 00:39:03 +08:00
sys Rollup merge of #132730 - joboet:after_main_sync, r=Noratrieb 2024-11-25 00:39:03 +08:00
sys_common Make CloneToUninit dyn-compatible 2024-11-12 15:08:41 -06:00
thread Rollup merge of #132730 - joboet:after_main_sync, r=Noratrieb 2024-11-25 00:39:03 +08:00
time Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
alloc.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
ascii.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
backtrace.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
env.rs Rollup merge of #131505 - madsmtm:darwin_user_temp_dir, r=dtolnay 2024-11-23 20:19:52 +08:00
error.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
f16.rs float types: move copysign, abs, signum to libcore 2024-11-01 16:47:18 +01:00
f32.rs float types: move copysign, abs, signum to libcore 2024-11-01 16:47:18 +01:00
f64.rs float types: move copysign, abs, signum to libcore 2024-11-01 16:47:18 +01:00
f128.rs float types: move copysign, abs, signum to libcore 2024-11-01 16:47:18 +01:00
fs.rs Mention std::fs::remove_dir_all in std::fs::remove_dir 2024-11-18 23:34:59 +01:00
keyword_docs.rs Document alternatives to static mut 2024-11-18 00:34:06 +00:00
lib.miri.rs add 'x.py miri', and make it work for 'library/{core,alloc,std}' 2024-04-03 20:27:20 +02:00
lib.rs Rollup merge of #132730 - joboet:after_main_sync, r=Noratrieb 2024-11-25 00:39:03 +08:00
macros.rs Add math functions for f16 and f128 2024-08-01 15:38:51 -04:00
num.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
panic.rs Auto merge of #128321 - BatmanAoD:catch-unwind-doc-update, r=Mark-Simulacrum 2024-09-29 05:54:47 +00:00
panicking.rs Rollup merge of #130846 - ChrisDenton:revert-break, r=Noratrieb 2024-09-26 22:20:54 -07:00
pat.rs Add pattern types to parser 2024-04-08 11:57:17 +00:00
path.rs Make CloneToUninit dyn-compatible 2024-11-12 15:08:41 -06:00
pipe.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
process.rs library: consistently use American spelling for 'behavior' 2024-10-25 12:02:47 +02:00
random.rs AIX use /dev/urandom for impl 2024-10-22 20:18:11 -04:00
rt.rs Remove the Arc rt::init allocation for thread info 2024-10-19 14:39:20 +01:00
time.rs library: consistently use American spelling for 'behavior' 2024-10-25 12:02:47 +02:00