aboutsummaryrefslogtreecommitdiff
path: root/core/sync
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Strip semicolons in core which were missinggingerBill2021-09-086-190/+190
|
* Strip even more semicolons if followed by a `}` or `)` on the same linegingerBill2021-08-311-86/+86
|
* Remove unneeded semicolons from the core librarygingerBill2021-08-311-2/+2
|
* Remove unneeded semicolons from the core librarygingerBill2021-08-3112-780/+780
|
* Update usage of `syscall` to use the intrinsicsgingerBill2021-08-292-17/+8
|
* Enforce `core:builtin` and `core:intrinsics` for importsgingerBill2021-08-217-7/+7
|
* Add some missing files to sync2 for linux and darwingingerBill2021-08-163-2/+160
|
* Add more uses of `or_return`gingerBill2021-08-151-1/+1
|
* Change uses for parapoly records to use `$` alwaysgingerBill2021-06-141-1/+1
|
* Core library clean up: Make range expressions more consistent and replace ↵gingerBill2021-06-143-3/+3
| | | | uses of `..` with `..=`
* Keep -vet happygingerBill2021-06-083-4/+0
|
* Remove `context.thread_id`gingerBill2021-06-089-9/+58
|
* Begin changes to sync2gingerBill2021-05-204-162/+248
|
* Delete core:sync/sync2/channel* stuff (for the time being)gingerBill2021-05-193-937/+0
|
* `sync2.Auto_Reset_Event`; Make atomic operations names clearergingerBill2021-05-065-61/+138
|
* Remove unused importgingerBill2021-04-271-1/+0
|