Jonas Böttiger
Jonas Böttiger
Related to #538 - [ ] Tested on all platforms changed - [x] Compilation warnings were addressed - [x] `cargo fmt` has been run on this branch - [x] `cargo...
Since `sync::Mutex` is now `const`-constructible, it can be used for internal statics, removing the need for `sys_common::StaticMutex`. This adds some extra allocations on platforms which need to box their mutexes...
Since `sync::RwLock` is now `const`-constructible, it can be used for internal statics, removing the need for `sys_common::StaticRwLock`. This adds some extra allocations on platforms which need to box their locks...
This moves the lazy allocation to `sys` (SGX and UNIX). While this leads to a bit more verbosity, it will simplify future improvements by making room in `sys_common` for platform-independent...
Fixes #120147. Instead of manually adding a list of "good" platforms, I've simply made the check unconditional. pthread's mutex is already quite slow on most platforms, so one single well-predictable...
Last week, Apple released macOS version 14.4, which introduced a public futex API called [`os_sync_wait_on_address`](https://developer.apple.com/documentation/os/4316531-os_sync_wait_on_address?language=objc) (Apple has failed to include the documentation provided in the defining header `os/os_sync_wait_on_address.h` on its...
On Wednesday, the libs-team [discussed](https://rust-lang.zulipchat.com/#narrow/stream/259402-t-libs.2Fmeetings/topic/Meeting.202023-10-25/near/398512745) reorganizing the platform-specific modules inside `std`, namely `sys` and `sys_common` into [a new structure](https://github.com/rust-lang/rust/issues/84187#issuecomment-1774066353). These modules will be merged into one `sys` module with a...
Feature gate: `#![feature(reentrant_lock)]` This is a tracking issue for `ReentrantLock`, a re-entrant lock useful for avoiding a common type of deadlocks. ### Public API ```rust // std::sync pub struct ReentrantLock...
`rmx_state` has been removed in https://github.com/apple-oss-distributions/xnu/commit/94d3b452840153a99b38a3a9659680b2a006908e (macOS version 14.4) in favour of an expanded `rmx_filler` field. Just ignore it in CI.