gingerBill
a16d3b6c9a
Merge pull request #4242 from laytan/caller-expression
...
add '#caller_expression'
2024-09-16 17:36:46 +01:00
gingerBill
68619f299e
Merge pull request #4209 from flysand7/core-mem
...
[core/mem]: Document, refactor, reformat!
2024-09-16 17:35:19 +01:00
gingerBill
017d6bdf73
Merge pull request #4232 from Feoramund/test-sync
...
Add test suites for `core:sync` and `core:sync/chan`
2024-09-16 17:27:20 +01:00
Feoramund
d38f5ffb49
Remove unneeded synchronizations in Chan
...
Everything was already guarded by `c.mutex`.
2024-09-15 22:59:30 -04:00
Isaac Andrade
97e06cb98e
Fix bit flags on fcntl linux POSIX implemention. Add sys/sem linux implementation.
2024-09-15 18:43:51 -06:00
Isaac Andrade
8616842ec6
Implement Linux POSIX compliance for poll, sched, sys/select. Fix enum in fcntl.
2024-09-14 20:23:42 -06:00
Isaac Andrade
aa91479870
Fix O_NOFOLLOW typo. Add Linux support for POSIX fcntl.
2024-09-14 17:01:15 -06:00
Laytan Laats
603efa860a
add '#caller_expression'
2024-09-14 22:13:37 +02:00
Karl Zylinski
3d7b924260
Fix a few incorrectly placed build tags.
2024-09-14 18:41:05 +02: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
Isaac Andrade
af94c4ab32
Add initial POSIX support for Linux for wordexp.
2024-09-14 10:06:25 -06:00
Karl Zylinski
b12d312408
core/odin: Added new file tag syntax as token. parse_file stores a list of tags that the file tag parser can use later.
2024-09-14 17:59:50 +02:00
flysand7
466e29bb38
[mem]: Rollback allocator API consistency
2024-09-14 13:15:02 +11:00
flysand7
016d1a84d4
[mem]: Document mutex, rollback stack and tracking allocators
2024-09-14 10:46:35 +11:00
flysand7
3ed2ab6e2c
[mem]: Adjust the docs for calc_padding_with_header
2024-09-14 10:18:51 +11:00
flysand7
e90f5d2528
[mem]: Adjust the docs on the buddy allocator
2024-09-14 10:03:04 +11:00
Isaac Andrade
55a9ba1fc0
Finish sys/socket POSIX support for Linux.
2024-09-11 22:25:38 -06:00
Laytan Laats
201a7b90bb
fix EventMaskAny definition
2024-09-12 00:11:27 +02:00
Laytan Laats
788e4b2b6a
core/encoding/cbor: allow unmarshalling non-string map keys
2024-09-11 15:57:56 +02:00
Feoramund
16cd16b91e
Fix comments
2024-09-11 08:39:23 -04:00
Feoramund
2938655a3d
Fix CPU count detection in FreeBSD & NetBSD
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
Isaac Andrade
1632f19826
In-progress support for POSIX on Linux for sys/socket.
2024-09-10 18:43:09 -06:00
flysand7
f16ed256ea
[mem]: Fix handling of default resize to check alignment
2024-09-11 08:00:27 +11: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
3a60109180
Fix signalling test child threads crashing test 0
...
A thread made inside a test does not share the test index of its parent,
so any time one of those threads failed an assert, it would tell the
runner to shutdown test index zero.
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
Isaac Andrade
ff82396e7c
Add Linux support for POSIX sys ipc, mman, time, utsname.
2024-09-10 07:32:58 -06:00
Jeroen van Rijn
beb10cce63
Fix #4227
2024-09-10 15:31:57 +02:00
flysand7
fdd4882568
[mem]: Adjust docs for alloc
2024-09-10 19:51:20 +11:00
Isaac Andrade
92ff04629e
Fix some compilation errors on POSIX linux.
2024-09-09 22:17:42 -06:00
Feoramund
c3f363cfbc
Fix data race when pool_stop_task is called
2024-09-09 16:19:15 -04:00
Feoramund
dbb783fbf2
Fix atomic memory order for sync.ticket_mutex_unlock
2024-09-09 16:19:15 -04:00
Feoramund
45da009377
Use more atomic handling of thread flags
...
This can prevent a data race on Linux with `Self_Cleanup`.
2024-09-09 16:19:15 -04:00
Feoramund
4d14b4257e
Convert POSIX Thread to use semaphore instead
...
One less value to store, and it should be less of a hack too.
Semaphores will not wait around if they have the go-ahead; they depend
on an internal value being non-zero, instead of whatever was loaded when
they started waiting, which is the case with a `Cond`.
2024-09-09 16:19:14 -04:00
Feoramund
cbd4d5e765
Fix data race in atomic_sema_wait_with_timeout
2024-09-09 16:19:14 -04:00
Feoramund
74b28f1ff9
Fix rare double-join possibility in POSIX thread._join
...
This was occuring about 1/100 times with the test runner's thread pool.
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
5ae27c6ebc
wasm: support more vendor libraries
...
Adds support for:
- box2d
- cgltf
- stb image
- stb rect pack
2024-09-09 18:49:13 +02:00
Laytan
d783bca297
Merge pull request #4218 from pkova/master
...
Fix os2/heap_linux.odin deadlock
2024-09-09 17:25:00 +02:00
Laytan Laats
75dd562a0a
fix #4219 - recursive mutex lock
2024-09-08 22:23:03 +02:00
pkova
0a17525791
Remove unused base:runtime from os2/heap_linux.odin
2024-09-08 17:25:30 +00:00
pkova
499a5d1f9c
Fix os2/heap_linux.odin deadlock
2024-09-08 16:47:16 +00:00
gingerBill
e72d0ba804
Move around mutex guard
2024-09-08 14:11:05 +01:00