9 个版本
0.2.2 | 2024年6月12日 |
---|---|
0.2.1 | 2023年12月4日 |
0.1.5 | 2023年10月9日 |
0.1.3 | 2023年8月27日 |
#233 in Unix APIs
138 个月下载量
在 11 个 11 直接) 包中使用
88KB
1K SLoC
基于futex的Linux实现 Mutex
、RwLock
、Condvar
、Once
和 OnceLock
,以及从std中的futex代码派生出的 RawMutex
、RawRwLock
和 RawCondvar
,使用 rustix
进行futex操作,使用 lock_api
提供大部分公共的 Mutex
和 RwLock
API。
lock_api
不支持poisoning,因此省略了对poisoning的支持。
在这个库中,Condvar
、RawCondvar
、RawMutex
和Once
保证是围绕单个AtomicU32
的repr(transparent)
包装器。RawRwLock
保证是围绕两个AtomicU32
的repr(C)
包装器。这些AtomicU32
的内容没有文档说明,除了所有这些类型的const fn new()
和INIT
保证将它们初始化为零。
依赖项
~1.6–10MB
~108K SLoC