aboutsummaryrefslogtreecommitdiff
path: root/core/sync
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Remove unused entitiesgingerBill2020-08-021-5/+1
|
* Add sys/windows/synchronization.odingingerBill2020-08-021-5/+1
|
* Add sync/channel_*.odin filesgingerBill2020-08-022-0/+53
|
* Update package syncgingerBill2020-08-023-146/+604
|
* Add `sync.Wait_Group`gingerBill2020-07-152-5/+87
|
* Improve `sync.Channel` behaviourgingerBill2020-07-141-18/+28
|
* Remove fmt from sync/channel.odingingerBill2020-07-141-1/+0
|
* Update sync.ChannelgingerBill2020-07-141-193/+288
|
* Add `sync.Benaphore`gingerBill2020-07-082-2/+34
|
* Add `raw_data` to replace cases in which `&x[0]` was usedgingerBill2020-06-291-0/+34
|
* Add `sync.condition_wait_for_timeout` for unixgingerBill2020-06-271-0/+65
|
* Add `sync.Barrier`; Add `sync.Blocking_Mutex` for unixgingerBill2020-06-274-62/+211
|
* Update sys/windows; Add sync.Blocking_Mutex (windows only at the moment)gingerBill2020-06-271-7/+82
|
* Remove `foreign import` for `-vet`gingerBill2020-06-261-2/+0
|
* Keep previous behaviour for `sync` but move to `sys/windows`gingerBill2020-06-261-31/+22
|
* Revert sync_windows.odingingerBill2020-06-261-47/+33
|
* Revert channel.odingingerBill2020-06-261-90/+101
|
* Begin migration from sys/win32 to sys/windowsgingerBill2020-06-262-134/+137
|
* Update sync.ChannelgingerBill2020-06-221-9/+18
|
* `-vet` `sync/channel.odin`gingerBill2020-06-221-0/+2
|
* Add experimental `sync.Channel`gingerBill2020-06-221-0/+246
|
* Fix sync and thread on *nixgingerBill2020-06-221-1/+1
|
* Update `sync.Condition` to require a `^sync.Mutex` on initgingerBill2020-06-222-35/+69
|
* Improve termination rules checking for missing `return`; Make diverging ↵gingerBill2020-06-061-8/+0
| | | | procedure `-> !` be terminators
* Enforce explicit context definition for procedure callsgingerBill2020-05-141-13/+13
|
* Merge branch 'master' into fix-sync-badoptTetralux2020-04-221-4/+5
|\
| * `sync.yield_processor` -> `sync.cpu_relax`; have it call `intrinsics.cpu_relax`Tetralux2020-04-211-4/+5
| |
* | Fix potential bad optimization bug in sync.Ticket_MutexTetralux2020-04-211-1/+1
|/ | | | | When locking, we were not loading m.serving atomically and so the optimizer could have hoisted the check out of the loop, thus resulting in an infinite loop.
* replaced pthread_yield with ssched_yield, fixed semaphore post:qKTRosenberg2020-01-022-4/+9
|