sync_linux_no_libc/lib.rs
1/*!
2This project aims to reimplement some of the most basic Rust
3`std::sync` utilities on Linux, like
4[`std::sync::Mutex`](https://doc.rust-lang.org/std/sync/struct.Mutex.html) and
5[`std::sync::Barrier`](https://doc.rust-lang.org/std/sync/struct.Barrier.html),
6all without the use of libc. Instead, it makes Linux syscalls directly.
7
8# Crate features
9
10* **not_process_private** -
11 Allows for sharing the synchronization primitives with other processes.
12*/
13
14#![cfg(target_os = "linux")]
15#![no_std]
16
17#![feature(must_not_suspend)]
18#![feature(negative_impls)]
19#![feature(generic_atomic)]
20#![feature(core_io_borrowed_buf)]
21#![feature(temporary_niche_types)]
22#![feature(decl_macro)]
23
24pub mod sync;
25mod sys;
26mod tests;