aboutsummaryrefslogtreecommitdiff
path: root/core/sync
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* 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
|
* Minimize unneeded castsgingerBill2021-03-031-1/+1
|
* Replace usage of `inline proc` with `#force_inline proc` in the core librarygingerBill2021-02-232-16/+16
|
* Fix typogingerBill2020-12-271-1/+62
|
* Fix sync.Channel code; add `thread.run_with_poly_data` and ↵gingerBill2020-11-101-13/+11
| | | | `run_with_poly_data(2|3|4)` procedures
* Improve sync.Channel to encode the direction into the typegingerBill2020-11-091-30/+59
|
* Get Odin compiling and produced exe's running on FreeBSDChristian Seibold2020-09-143-2/+34
|
* Make sync.atomic_* operations use `when` statements instead of `switch`; ↵gingerBill2020-08-161-146/+111
| | | | Make `#panic` diverging