aboutsummaryrefslogtreecommitdiff
path: root/core/sync/primitives_atomic.odin
Commit message (Collapse)AuthorAgeFilesLines
* Remove `#no_copy`gingerBill2025-11-051-5/+5
|
* Rewrite `Atomic_RW_Mutex`Feoramund2025-06-031-18/+42
| | | | | | | | | | | | | | This patch simplifies the implementation and fixes #5254. Previously, the mutex was set up as if there could be multiple writers, and there seemed to be some confusion as to which `Writer` bits to check, as not all were checked or set at the same time. This could also result in the mutex being left in a non-zero state even after unlocking all locks. All unneeded state has been removed and extra checks have been put in place.
* fix #4496 - allow unlock of unlocked mutex (making it consistent with ↵Laytan Laats2024-12-061-1/+1
| | | | windows behaviour)
* Use `contextless` procs in `core:sync` insteadFeoramund2024-09-101-1/+1
|
* Fix data race in `atomic_sema_wait_with_timeout`Feoramund2024-09-091-1/+1
|
* Fix thread sanitizer errors surfaced by tests/core/iopkova2024-09-031-1/+1
|
* Fix loads of indentation issues with mixing spaces and tabsgingerBill2024-06-291-1/+1
|
* Add `#no_copy` to sync primitivesgingerBill2023-04-151-5/+5
|
* Make `sync` calls `contextless` where possiblegingerBill2022-12-081-26/+26
|
* Correct explicit atomic orderingsgingerBill2022-04-301-4/+3
|
* Remove `prev` from `Atomic_Cond`gingerBill2022-04-271-7/+3
|
* Simplify `Atomic_Sema` implementationgingerBill2022-04-261-36/+31
|
* Simplify Atomic_Cond implementationgingerBill2022-04-261-92/+17
|
* Change `intrinsics.Atomic_Memory_Order` fields to use `Ada_Case` rather than ↵gingerBill2022-03-311-8/+8
| | | | `snake_case`
* Rename package name to `sync`gingerBill2022-03-311-1/+1
|
* Enforce success failure pairings of `compare_exchange_*_explicit` at compile ↵gingerBill2022-03-311-1/+1
| | | | time
* Update core to use new atomic intrinsicsgingerBill2022-03-311-8/+8
|
* Replace `sync` with `sync2`gingerBill2022-03-301-0/+455