rust/library/std/src
bors baaa3b6829 Auto merge of #96393 - joboet:pthread_parker, r=thomcc
std: directly use pthread in UNIX parker implementation

`Mutex` and `Condvar` are being replaced by more efficient implementations, which need thread parking themselves (see #93740). Therefore we should use the `pthread` synchronization primitives directly. Also, we can avoid allocating the mutex and condition variable because the `Parker` struct is being placed in an `Arc` anyways.

This basically is just a copy of the current `Mutex` and `Condvar` code, which will however be removed (again, see #93740). An alternative implementation could be to use dedicated private `OsMutex` and `OsCondvar` types, but all the other platforms supported by std actually have their own thread parking primitives.

I used `Pin` to guarantee a stable address for the `Parker` struct, while the current implementation does not, rather using extra unsafe declaration. Since the thread struct is shared anyways, I assumed this would not add too much clutter while being clearer.
2022-04-28 21:58:08 +00:00
..
backtrace Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
collections Rollup merge of #94826 - allgoewer:fix-retain-documentation, r=yaahc 2022-03-11 03:32:06 +01:00
env std: move "mod tests/benches" to separate files 2020-08-31 02:56:59 +00:00
error Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
f32 Implement IEEE 754-2019 minimun and maximum functions for f32/f64 2021-11-20 10:14:03 +01:00
f64 Remove fNN::lerp - consensus unlikely 2021-10-25 22:44:41 -05:00
ffi library: Use type aliases to make CStr(ing) in libcore/liballoc unstable 2022-04-14 21:53:11 +03:00
fs Use gender neutral terms 2022-04-07 08:51:59 +01:00
io Rollup merge of #95185 - m-ou-se:stabilize-stdin-lines, r=Mark-Simulacrum 2022-04-07 01:59:21 +02:00
lazy Upgrade wasm32 image to Ubuntu 20.04 2021-02-06 13:05:56 +01:00
net Improve AddrParseError description 2022-04-19 13:02:20 +10:00
num rustc_expand: Mark inner #![test] attributes as soft-unstable 2020-11-20 19:35:03 +03:00
os Auto merge of #96195 - sunfishcode:sunfishcode/handle-or-error-type, r=joshtriplett 2022-04-27 03:42:59 +00:00
panic review: fix nits and move panic safety tests to the correct place 2020-09-25 23:10:24 +02:00
path Improve Windows path prefix parsing 2022-04-17 01:23:46 -04:00
prelude Rollup merge of #94461 - jhpratt:2024-edition, r=pnkfelix 2022-04-15 20:50:43 +02:00
process Add test for issue #95178 2022-03-23 05:33:44 +00:00
sync Remove ptr-int transmute in std::sync::mpsc 2022-04-08 23:28:31 -04:00
sys Auto merge of #96393 - joboet:pthread_parker, r=thomcc 2022-04-28 21:58:08 +00:00
sys_common Auto merge of #96393 - joboet:pthread_parker, r=thomcc 2022-04-28 21:58:08 +00:00
thread std: directly use pthread in UNIX parker implementation 2022-04-25 15:19:50 +02:00
time Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
alloc.rs trivial cfg(bootstrap) changes 2022-04-05 23:18:40 +02:00
ascii.rs Convert many files to intra-doc links 2020-09-02 17:37:40 -04:00
backtrace.rs revert changes that cast functions to raw pointers, portability hazard 2022-03-29 20:18:27 -04:00
env.rs Link to std::io's platform-specific behavior disclaimer 2022-03-27 21:01:28 -07:00
error.rs library: Move CStr to libcore, and CString to liballoc 2022-04-14 21:53:11 +03:00
f32.rs trivial cfg(bootstrap) changes 2022-04-05 23:18:40 +02:00
f64.rs trivial cfg(bootstrap) changes 2022-04-05 23:18:40 +02:00
fs.rs Document that DirEntry holds the directory open 2022-04-11 19:00:29 -07:00
keyword_docs.rs Rollup merge of #93692 - mfrw:mfrw/document-keyword-in, r=dtolnay 2022-03-19 02:02:02 +01:00
lazy.rs Add #[must_use] to core and std constructors 2021-10-10 02:44:26 -04:00
lib.rs Improve Windows path prefix parsing 2022-04-17 01:23:46 -04:00
macros.rs Format core and std macro rules, removing needless surrounding blocks 2022-03-11 15:26:51 -08:00
num.rs Add Saturating type (based on Wrapping type) 2021-08-10 19:27:01 +02:00
panic.rs Configure panic hook backtrace behavior 2022-02-02 13:46:42 -05:00
panicking.rs Rename RWLock to RwLock in std::sys. 2022-04-06 16:33:53 +02:00
path.rs Remove unnecessary function 2022-04-17 01:23:47 -04:00
primitive_docs.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
process.rs fix since field version for termination stabilization 2022-03-29 17:10:49 -07:00
rt.rs Change Termination::report return type to ExitCode 2022-01-28 12:53:36 -08:00
time.rs Link to std::io's platform-specific behavior disclaimer 2022-03-27 21:01:28 -07:00