aboutsummaryrefslogtreecommitdiff
path: root/core/sync/sync2
Commit message (Collapse)AuthorAgeFilesLines
* initial OpenBSD supportSébastien Marie2022-02-253-1/+88
|
* 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-191-37/+34
|
* core/sys/unix: Add syscalls_linux.odinYawning Angel2021-11-172-4/+4
| | | | | | | 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-083-96/+96
|
* Remove unneeded semicolons from the core librarygingerBill2021-08-315-295/+295
|
* Enforce `core:builtin` and `core:intrinsics` for importsgingerBill2021-08-212-2/+2
|
* 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
|
* Keep -vet happygingerBill2021-06-082-3/+0
|
* Remove `context.thread_id`gingerBill2021-06-084-6/+14
|
* 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
|
* Implement sync2.Recursive_Mutex using `WaitOnAddress` and friends on WindowsgingerBill2021-04-274-37/+151
|
* Max sync2.Sema on windows be `i32` for the counter internally.gingerBill2021-04-271-2/+2
|
* Reimplement sync2.Sema on windows with WaitOnAddress primitivesgingerBill2021-04-274-22/+94
|
* Add @(cold) taggingerBill2021-04-221-0/+1
|
* Fix style issues; Use new attribute `@(cold)` where appropriate in the new ↵gingerBill2021-04-141-1/+2
| | | | sync package
* Default to pthreads in sync2 for *nixgingerBill2021-04-132-2/+2
|
* Update sync2 to just use atomic intrinsics rather than the parapoly wrappersgingerBill2021-04-126-233/+137
|
* Remove thread stuff from sync2; Cleanup package threadgingerBill2021-04-114-491/+24
|
* Add Thread stuff to new sync packagegingerBill2021-04-113-0/+491
|
* New redesign of core:sync (stored under core:sync/sync2 for the time being)gingerBill2021-04-119-0/+1981