| clock.rs |
|
3667 |
- |
| futex.rs |
Linux `futex`.
Futex is a very low-level mechanism for implementing concurrency primitives
such as mutexes, rwlocks, and condvars. For a higher-level API that
provides those abstractions, see [rustix-futex-sync].
# Examples
```
use rustix::thread::futex;
use std::sync::atomic::AtomicU32;
# fn test(futex: &AtomicU32) -> rustix::io::Result<()> {
// Wake up one waiter.
futex::wake(futex, futex::Flags::PRIVATE, 1)?;
# Ok(())
# }
```
# References
- [Linux `futex` system call]
- [Linux `futex` feature]
[Linux `futex` system call]: https://man7.org/linux/man-pages/man2/futex.2.html
[Linux `futex` feature]: https://man7.org/linux/man-pages/man7/futex.7.html
[rustix-futex-sync]: https://crates.io/crates/rustix-futex-sync |
18026 |
- |
| id.rs |
CPU and thread identifiers.
# Safety
The `Cpuid`, type can be constructed from raw integers, which is marked
unsafe because actual OS's assign special meaning to some integer values. |
6595 |
- |
| libcap.rs |
|
7649 |
- |
| membarrier.rs |
The Linux `membarrier` syscall. |
3544 |
- |
| mod.rs |
Thread-associated operations. |
899 |
- |
| prctl.rs |
Linux `prctl` wrappers.
Rustix wraps variadic/dynamic-dispatch functions like `prctl` in type-safe
wrappers.
# Safety
The inner `prctl` calls are dynamically typed and must be called correctly. |
42196 |
- |
| sched.rs |
|
4396 |
- |
| sched_yield.rs |
|
425 |
- |
| setns.rs |
Thread-specific namespace functions.
# Safety
The `unshare` function can cause threads to use different file descriptor tables. |
5232 |
- |