aboutsummaryrefslogtreecommitdiff
path: root/core/sync
Commit message (Collapse)AuthorAgeFilesLines
* Begin to add support for experimental wasm64gingerBill2022-05-212-2/+2
|
* Begin work on Atomics for wasm32 (wait and notify intrinsics)gingerBill2022-05-212-0/+44
|
* Fix typogingerBill2022-05-181-1/+1
|
* Use `RtlWaitOnAddress` to allow for a `i64` sized duration rather than `u32`gingerBill2022-05-171-9/+9
|
* Remove unused importsgingerBill2022-04-304-4/+0
|
* Unify implementation for *nix platformsgingerBill2022-04-305-221/+63
|
* Add `sync.Parker`gingerBill2022-04-301-0/+56
|
* Remove the wait group based semaphore implementationgingerBill2022-04-303-49/+24
| | | | It was a misuse of the data structure
* Correct explicit atomic orderingsgingerBill2022-04-301-4/+3
|
* Use Acquire semantics for the `futex_wait` load shortcutgingerBill2022-04-271-2/+2
|
* Remove `prev` from `Atomic_Cond`gingerBill2022-04-271-7/+3
|
* Merge branch 'master' into sync-cond-futexgingerBill2022-04-271-4/+4
|\
| * Unify default `Sema` and `Atomic_Sema` behaviourgingerBill2022-04-272-73/+34
| |
* | Implement `_Sema` with `Atomic_Sema`gingerBill2022-04-261-38/+4
| |
* | Simplify `Atomic_Sema` implementationgingerBill2022-04-261-36/+31
| |
* | Simplify Atomic_Cond implementationgingerBill2022-04-262-94/+19
|/
* Add explicit memory ordering for the internal Sema implementationgingerBill2022-04-011-5/+5
|
* Fix `_Sema`gingerBill2022-04-013-6/+6
|
* Remove code deduplicationgingerBill2022-03-311-66/+7
|
* Remove pthreads dependencygingerBill2022-03-315-64/+112
|
* Change `intrinsics.Atomic_Memory_Order` fields to use `Ada_Case` rather than ↵gingerBill2022-03-314-32/+32
| | | | `snake_case`
* Correct ordering in `auto_reset_event_signal`gingerBill2022-03-311-2/+2
|
* Rename package name to `sync`gingerBill2022-03-3118-18/+18
|
* Enforce success failure pairings of `compare_exchange_*_explicit` at compile ↵gingerBill2022-03-311-1/+1
| | | | time
* Update core to use new atomic intrinsicsgingerBill2022-03-314-97/+63
|
* Replace `sync` with `sync2`gingerBill2022-03-3031-2037/+76
|
* Improve spin lock for atomic_mutex_lockgingerBill2022-03-301-5/+4
|
* freebsd_amd64 supportSébastien Marie2022-03-133-7/+91
|
* Remove taggingerBill2022-03-121-1/+1
|
* initial OpenBSD supportSébastien Marie2022-02-256-3/+126
|
* Convert `ODIN_OS` and `ODIN_ARCH` to use enums rather than use stringsgingerBill2022-01-202-2/+2
|
* Add `.Private` information to doc-formatgingerBill2022-01-194-67/+61
|
* Print examples correctlygingerBill2022-01-192-74/+70
|
* core/sys/unix: Add syscalls_linux.odinYawning Angel2021-11-173-7/+5
| | | | | | | Linux is in the unfortunate situation where the system call number is architecture specific. This consolidates the system call number definitions in a single location, adds some wrappers, and hopefully fixes the existing non-portable invocations of the syscall intrinsic.
* Add comments to procedure groupsgingerBill2021-10-132-1/+19
|
* Update sync_util.odingingerBill2021-10-131-0/+20
|
* Fix typogingerBill2021-10-121-1/+1
|
* Add utility procedure groups for sync primitivesgingerBill2021-10-123-17/+142
|
* Add `wait_group_wait_with_timeout`; Allow `Sema` to be implemented as a ↵gingerBill2021-10-112-48/+24
| | | | `Wait_Group`
* Clean up `_futex_wait_with_timeout` on LinuxgingerBill2021-10-111-10/+8
|
* Separate `Sema` implementation from "header"; Allow for either `Futex` or ↵gingerBill2021-10-112-42/+123
| | | | `Mutex`+`Cond` implementations of `Sema`
* Rename `futex_wake` and `futex_wake_all` to `futex_signal` and `futex_broadcast`gingerBill2021-10-116-15/+15
|
* Add `sema_wait_with_timeout`gingerBill2021-10-111-0/+26
|
* Fix typogingerBill2021-10-111-6/+2
|
* Use `WaitOnAddress` instead of `RtlWaitOnAddress`gingerBill2021-10-112-18/+13
|
* Change `futex_wait_with_timeout` to return a boolean rather than an `enum`gingerBill2021-10-115-26/+22
|
* Add `atomic_cond_wait_with_timeout`gingerBill2021-10-112-3/+35
|
* Add `cond_wait_with_timeout`gingerBill2021-10-116-13/+60
|
* Keep -vet happygingerBill2021-10-095-9/+0
|
* Update `core:sync/sync2` to have a generic `Futex` interface, and implement ↵gingerBill2021-10-0911-402/+486
| | | | the calls appropriately for each platform