flysand7
9da144157e
[sync]: Fix typos in comments and remove my note.
2025-01-16 19:33:09 +03:00
avanspector
a6dccf5e98
Haiku: fix futex bug
2025-01-10 06:28:57 +01:00
avanspector
5376d2a20b
fix haiku
2024-12-20 17:19:04 +01:00
Laytan Laats
f1cae8d844
fix #4496 - allow unlock of unlocked mutex (making it consistent with windows behaviour)
2024-12-06 23:08:47 +01:00
Laytan Laats
cf53404f5f
sync: fix no new values
2024-12-05 20:05:19 +01:00
Laytan Laats
ac3a87c2cf
sync: fix require results
2024-12-05 19:04:45 +01:00
Laytan Laats
ad438f418d
sync: fix futexes on wasm
2024-12-05 19:00:45 +01:00
Karl Zylinski
093ade0504
Merge branch 'master' into file-tags-without-comments
2024-09-17 19:36:17 +02:00
Laytan Laats
0975820c48
fix wrong ulock timeout calculation, add version check for ios
2024-09-17 15:52:35 +02:00
pkova
6e0f1cc866
Pass microseconds instead of nanoseconds to __ulock_wait
2024-09-17 02:35:00 +03:00
Pyry Kovanen
4d6f7dcac0
Fix code alignment in futex_darwin.odin
...
Co-authored-by: Feoramund <161657516+Feoramund@users.noreply.github.com >
2024-09-17 02:21:00 +03:00
pkova
fff99c726e
Fix core sync test deadlock on darwin
2024-09-17 01:52:51 +03:00
Feoramund
d38f5ffb49
Remove unneeded synchronizations in Chan
...
Everything was already guarded by `c.mutex`.
2024-09-15 22:59:30 -04:00
Karl Zylinski
19f0127e55
Moved all packages in core, base, vendor, tests and examples to use new #+ file tag syntax.
2024-09-14 18:27:49 +02:00
Feoramund
16cd16b91e
Fix comments
2024-09-11 08:39:23 -04:00
Feoramund
b1db33b519
Add cpu_relax to sync.auto_reset_event_signal
2024-09-11 08:39:23 -04:00
Feoramund
a1435a6a90
Fix deadlock in Auto_Reset_Event
2024-09-11 08:39:23 -04:00
Feoramund
fec1ccd7a3
Fix data races in sync.Recursive_Benaphore
2024-09-11 08:39:23 -04:00
Feoramund
b2c2235e58
Fix recursive_benaphore_try_lock
...
Previously, if the owner called this, it would fail.
2024-09-10 14:52:20 -04:00
Feoramund
8a14a656fb
Fix chan.can_send for unbuffered channels
...
`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.
2024-09-10 14:52:20 -04:00
Feoramund
e9a6a34480
Forbid chan.try_send on closed buffered channels
2024-09-10 14:52:20 -04:00
Feoramund
026aef69e3
Fix deadlock on sending to full, buffered, closed Chan
...
This will also keep messages from being sent to closed, buffered
channels in general.
2024-09-10 14:52:20 -04:00
Feoramund
73f5ab473c
Keep chan.can_recv from deadlocking
2024-09-10 14:52:20 -04:00
Feoramund
0a594147af
Use contextless procs in core:sync instead
2024-09-10 14:52:20 -04:00
Feoramund
dbb783fbf2
Fix atomic memory order for sync.ticket_mutex_unlock
2024-09-09 16:19:15 -04:00
Feoramund
cbd4d5e765
Fix data race in atomic_sema_wait_with_timeout
2024-09-09 16:19:14 -04:00
Feoramund
9d6f71fd2e
Fix sync.Benaphore
...
The calls to `atomic_add*` return the value before adding, not after, so
the previous code was causing the occasional data race.
2024-09-09 16:19:14 -04:00
Laytan Laats
75dd562a0a
fix #4219 - recursive mutex lock
2024-09-08 22:23:03 +02:00
gingerBill
e72d0ba804
Move around mutex guard
2024-09-08 14:11:05 +01:00
Laytan Laats
288312a812
core: improve package doc comments for the documentation generator
2024-09-03 19:59:04 +02:00
pkova
5b9b21e756
Fix thread sanitizer errors surfaced by tests/core/io
2024-09-03 16:30:51 +03:00
Jeroen van Rijn
cc24d2de3e
Merge pull request #3810 from Feoramund/freebsd-core-net
...
Port `core:net` to FreeBSD
2024-08-09 09:50:05 +02:00
gingerBill
e60951a902
Begin converting os.Errno to be a nil-able type as a transition period
2024-08-04 10:51:08 +01:00
flysand7
3aac4b1a3e
[sync]: Document all procedures
2024-07-30 19:13:35 +11:00
gingerBill
e296d6fb90
Fix loads of indentation issues with mixing spaces and tabs
2024-06-29 19:50:51 +01:00
Feoramund
10ce76fcc2
Fix FreeBSD futex implementation
...
- 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.
2024-06-26 10:02:07 -04:00
gingerBill
5dc98336a8
Merge pull request #3524 from Feoramund/freebsd-amd64-syscall-errno
...
Add `intrinsics.syscall_bsd`
2024-06-20 11:47:01 +01:00
gingerBill
2380720fa2
Fix core:sync/chan for rand
2024-06-15 15:46:48 +01:00
Feoramund
1128bd1d7f
Use syscall_bsd on NetBSD
2024-06-12 13:34:36 -04:00
Laytan Laats
b35e72c82b
core/sync: fix wrong timeout calculation, time.Duration is ns already
2024-06-07 20:27:33 +02:00
Andreas T Jonsson
ed6667ebf2
Propper thread identification on NetBSD
2024-06-05 11:06:14 +02:00
Andreas T Jonsson
b72c2edabb
Merge branch 'master' into netbsd
2024-05-10 09:04:52 +02:00
gingerBill
15f7148eae
Merge pull request #3526 from laytan/target-features
...
Improve target features support
2024-05-05 21:50:57 +01:00
Laytan Laats
8506e64345
sync: fix deadlock in one shot event
2024-05-02 20:49:29 +02:00
Andreas T Jonsson
7feff1c113
Merged with master
2024-05-02 09:27:46 +02:00
Laytan Laats
25f1d0906d
compiler: improve target features support
2024-05-02 00:59:52 +02:00
Feoramund
f95bb77f72
Fix memory leak in sync/chan
2024-04-26 05:19:52 -04:00
Andreas T Jonsson
22fa420c4f
Should pass 0 as the rest of futex arguments
2024-04-25 22:22:59 +02:00
Andreas T Jonsson
3000508c02
Switched to native futex on NetBSD
2024-04-25 21:50:34 +02:00
Andreas T Jonsson
a23c378513
Make the linter happy
2024-04-19 12:32:09 +02:00