rust/library/std
Dylan DPC e9ec02267a
Rollup merge of #97647 - m-ou-se:lazy-box-locks, r=Amanieu
Lazily allocate and initialize pthread locks.

Lazily allocate and initialize pthread locks.

This allows {Mutex, Condvar, RwLock}::new() to be const, while still using the platform's native locks for features like priority inheritance and debug tooling. E.g. on macOS, we cannot directly use the (private) APIs that pthread's locks are implemented with, making it impossible for us to use anything other than pthread while still preserving priority inheritance, etc.

This PR doesn't yet make the public APIs const. That's for a separate PR with an FCP.

Tracking issue: https://github.com/rust-lang/rust/issues/93740
2022-06-04 11:06:40 +02:00
..
benches
primitive_docs
src Rollup merge of #97647 - m-ou-se:lazy-box-locks, r=Amanieu 2022-06-04 11:06:40 +02:00
tests Fold aarch64 feature +fp into +neon 2022-03-22 15:14:33 -07:00
build.rs
Cargo.toml library/std: Bump compiler_builtins 2022-05-26 21:11:16 +02:00