aboutsummaryrefslogtreecommitdiff
path: root/core/sync
Commit message (Collapse)AuthorAgeFilesLines
* fix #4496 - allow unlock of unlocked mutex (making it consistent with ↵Laytan Laats2024-12-061-1/+1
| | | | windows behaviour)
* sync: fix no new valuesLaytan Laats2024-12-051-3/+3
|
* sync: fix require resultsLaytan Laats2024-12-051-3/+3
|
* sync: fix futexes on wasmLaytan Laats2024-12-051-15/+5
|
* Merge branch 'master' into file-tags-without-commentsKarl Zylinski2024-09-1710-126/+121
|\
| * fix wrong ulock timeout calculation, add version check for iosLaytan Laats2024-09-171-1/+4
| |
| * Pass microseconds instead of nanoseconds to __ulock_waitpkova2024-09-171-1/+1
| |
| * Fix code alignment in futex_darwin.odinPyry Kovanen2024-09-171-1/+1
| | | | | | Co-authored-by: Feoramund <161657516+Feoramund@users.noreply.github.com>
| * Fix core sync test deadlock on darwinpkova2024-09-171-2/+8
| |
| * Remove unneeded synchronizations in `Chan`Feoramund2024-09-151-43/+35
| | | | | | | | Everything was already guarded by `c.mutex`.
| * Fix commentsFeoramund2024-09-112-10/+10
| |
| * Add `cpu_relax` to `sync.auto_reset_event_signal`Feoramund2024-09-111-0/+1
| |
| * Fix deadlock in `Auto_Reset_Event`Feoramund2024-09-111-5/+4
| |
| * Fix data races in `sync.Recursive_Benaphore`Feoramund2024-09-111-15/+16
| |
| * Fix `recursive_benaphore_try_lock`Feoramund2024-09-101-4/+4
| | | | | | | | Previously, if the owner called this, it would fail.
| * Fix `chan.can_send` for unbuffered channelsFeoramund2024-09-101-1/+1
| | | | | | | | | | | | | | | | `w_waiting` is the signal that says a caller is waiting to be able to send something. It is incremented upon send and - in the case of an unbuffered channel - it can only hold one message. Therefore, check that `w_waiting` is zero instead.
| * Forbid `chan.try_send` on closed buffered channelsFeoramund2024-09-101-0/+4
| |
| * Fix deadlock on sending to full, buffered, closed `Chan`Feoramund2024-09-101-1/+6
| | | | | | | | | | This will also keep messages from being sent to closed, buffered channels in general.
| * Keep `chan.can_recv` from deadlockingFeoramund2024-09-101-1/+1
| |
| * Use `contextless` procs in `core:sync` insteadFeoramund2024-09-109-49/+33
| |
| * Fix atomic memory order for `sync.ticket_mutex_unlock`Feoramund2024-09-091-1/+1
| |
| * Fix data race in `atomic_sema_wait_with_timeout`Feoramund2024-09-091-1/+1
| |
| * Fix `sync.Benaphore`Feoramund2024-09-091-3/+3
| | | | | | | | | | The calls to `atomic_add*` return the value before adding, not after, so the previous code was causing the occasional data race.
* | Moved all packages in core, base, vendor, tests and examples to use new #+ ↵Karl Zylinski2024-09-1417-29/+29
|/ | | | file tag syntax.
* fix #4219 - recursive mutex lockLaytan Laats2024-09-081-1/+1
|
* Move around mutex guardgingerBill2024-09-081-3/+2
|
* core: improve package doc comments for the documentation generatorLaytan Laats2024-09-031-3/+3
|
* Fix thread sanitizer errors surfaced by tests/core/iopkova2024-09-031-1/+1
|
* Merge pull request #3810 from Feoramund/freebsd-core-netJeroen van Rijn2024-08-091-24/+17
|\ | | | | Port `core:net` to FreeBSD
| * Fix FreeBSD futex implementationFeoramund2024-06-261-24/+17
| | | | | | | | | | | | - Add missing size of timeout struct to `_umtx_op`. - Use `WAIT_UINT` not `WAIT`, as the expected value is an unsigned integer. - Use new native calls instead of libc.
* | Begin converting `os.Errno` to be a `nil`-able type as a transition periodgingerBill2024-08-041-6/+5
| |
* | [sync]: Document all proceduresflysand72024-07-304-181/+1273
| |
* | Fix loads of indentation issues with mixing spaces and tabsgingerBill2024-06-292-2/+2
|/
* Merge pull request #3524 from Feoramund/freebsd-amd64-syscall-errnogingerBill2024-06-201-7/+7
|\ | | | | Add `intrinsics.syscall_bsd`
| * Use `syscall_bsd` on NetBSDFeoramund2024-06-121-7/+7
| |
* | Fix `core:sync/chan` for randgingerBill2024-06-151-4/+1
|/
* core/sync: fix wrong timeout calculation, `time.Duration` is ns alreadyLaytan Laats2024-06-071-1/+1
|
* Propper thread identification on NetBSDAndreas T Jonsson2024-06-051-2/+6
|
* Merge branch 'master' into netbsdAndreas T Jonsson2024-05-102-14/+32
|\
| * Merge pull request #3526 from laytan/target-featuresgingerBill2024-05-051-13/+31
| |\ | | | | | | Improve target features support
| | * compiler: improve target features supportLaytan Laats2024-05-021-13/+31
| | |
| * | sync: fix deadlock in one shot eventLaytan Laats2024-05-021-1/+1
| |/
* | Merged with masterAndreas T Jonsson2024-05-021-0/+2
|\|
| * Fix memory leak in `sync/chan`Feoramund2024-04-261-0/+2
| |
* | Should pass 0 as the rest of futex argumentsAndreas T Jonsson2024-04-251-4/+4
| |
* | Switched to native futex on NetBSDAndreas T Jonsson2024-04-251-137/+46
| |
* | Make the linter happyAndreas T Jonsson2024-04-192-2/+0
| |
* | Initial commit of NetBSD portAndreas T Jonsson2024-04-162-0/+175
|/
* Update "core:runtime" to "base:runtime"Lucas Perlind2024-04-071-1/+1
|
* darwin: use new wait on address API if possibleLaytan Laats2024-03-151-2/+62
|