239 Commits

Author SHA1 Message Date
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
Andreas T Jonsson
4558f3992a Initial commit of NetBSD port 2024-04-16 14:27:29 +02:00
Lucas Perlind
a71cd07b36 Update "core:runtime" to "base:runtime" 2024-04-07 09:02:01 +10:00
Laytan Laats
9c455b2213 darwin: use new wait on address API if possible 2024-03-15 21:43:16 +01:00
gingerBill
53ce945034 Merge pull request #3230 from avanspector/haiku
Add Haiku OS support
2024-03-08 11:15:13 +00:00
gingerBill
7f1069cb0b Add Recursive_Mutex procedures to procedure groups 2024-03-01 11:31:13 +00:00
avanspector
38c69b9691 small fixes 2024-02-27 01:59:17 +01:00
avanspector
8d4bb35bcc Update futex_haiku.odin 2024-02-26 08:14:05 +01:00
avanspector
180902468f Revert "fix haiku"
This reverts commit 7290c69257.
2024-02-26 08:09:58 +01:00
avanspector
7290c69257 fix haiku 2024-02-26 08:07:17 +01:00
avanspector
3ebf5dcc0e fix haiku 2024-02-26 07:59:53 +01:00
avanspector
9d4c2ba0d8 fix haiku 2024-02-26 07:43:10 +01:00
gingerBill
656de10ba4 Minor changes to sync/chan (HIGHLY EXPERIMENTAL) 2024-02-22 13:59:22 +00:00
gingerBill
41549b502b Basic concept of core:sync/chan 2024-02-21 15:24:24 +00:00
gingerBill
f989f4df3e Add sync.One_Shot_Event 2024-02-21 13:08:12 +00:00
gingerBill
9a16bc5fc5 Remove core:os dependency for base:runtime 2024-01-28 22:40:46 +00:00
gingerBill
3e7e779abf Replace core:* to base:* where appropriate 2024-01-28 22:18:51 +00:00
gingerBill
90ac400ec5 stdcall -> system 2024-01-17 17:25:23 +00:00
flysand7
4d65b1ab9c Implement new sys/unix package 2023-10-27 10:51:21 +11:00
Laytan Laats
ccc94f6832 add wait group to wait proc group 2023-08-11 20:21:42 +02:00
Zac Nowicki
46f408cc9f Fixup link format 2023-07-11 07:43:36 -04:00
Zac Nowicki
363b701925 Improve Mutex struct documentation 2023-07-09 08:30:16 -04:00