Commit Graph

20 Commits

Author SHA1 Message Date
Mara Bos
06a8f05b0c Use futex locks on emscripten. 2022-04-19 09:24:51 +02:00
Mara Bos
4212de63ab Use a single ReentrantMutex implementation on all platforms. 2022-04-16 11:30:22 +02:00
Mara Bos
7a35c0f52d Use u32 instead of i32 for futexes. 2022-04-14 11:44:12 +02:00
Mara Bos
83e8b9e4dd Add debug asserts to futex ReentrantMutex impl. 2022-04-12 08:44:39 +02:00
Mara Bos
43651aa34f Initialize thread local with const{}. 2022-04-12 08:44:39 +02:00
Mara Bos
319a9b0f71 Move current_thread_unique_ptr to the only module that uses it. 2022-04-12 08:44:39 +02:00
Mara Bos
bd61bec67d Add futex-based ReentrantMutex on Linux. 2022-04-12 08:44:38 +02:00
Mara Bos
8339381741 Use is_ or has_ prefix for pure -> bool functions. 2022-04-11 14:52:02 +02:00
Mara Bos
c4a4f48c52 Use compare_exchange_weak in futex rwlock implementation. 2022-04-11 14:29:32 +02:00
Mara Bos
1f2c2bb24f Add comments to futex rwlock implementation. 2022-04-11 14:27:06 +02:00
Mara Bos
307aa588f4 Fix typo in futex rwlock.
Co-authored-by: Amanieu d'Antras <amanieu@gmail.com>
2022-04-08 16:07:07 +02:00
Mara Bos
6cb463cb11 Add futex-based RwLock on Linux. 2022-04-08 13:49:18 +02:00
Mara Bos
6e16f9b10f Rename RWLock to RwLock in std::sys. 2022-04-06 16:33:53 +02:00
Mara Bos
650315ee88 Reword comment in futex condvar implementation. 2022-04-05 17:08:12 +02:00
Mara Bos
104e95f848 Mark unix::locks::futex::Mutex::new as #[inline]. 2022-04-05 13:58:10 +02:00
Mara Bos
321690c827 Don't spin on contended mutexes. 2022-04-01 11:11:46 +02:00
Mara Bos
6392f1555e Shuffle around #[inline] and #[cold] in mutex impl. 2022-04-01 11:11:28 +02:00
Mara Bos
da4ef044c1 Spin before blocking in Mutex::lock. 2022-03-23 14:58:44 +01:00
Mara Bos
7f26adeac1 Replace Linux Mutex and Condvar with futex based ones. 2022-03-23 14:58:44 +01:00
Mara Bos
ac6996345d Move pthread locks to own module. 2022-03-21 15:51:25 +01:00