Commit Graph

13168 Commits

Author SHA1 Message Date
Feoramund 074314b887 Fix data race in test_core_flags 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
Jeroen van Rijn 4df668fa22 Merge pull request #4226 from Kelimion/fix-4225
Fix #4225
2024-09-10 15:30:43 +02:00
Jeroen van Rijn 564c7821c5 Allow ExactValue_Invalid in assert.
Fixes #4225
2024-09-10 15:19:12 +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
Karl Zylinski f9de8fdaba Documentation typo fix in tokenizer. 2024-09-09 21:51:34 +02:00
Karl Zylinski 580f0599cd parse_file: Removed some nesting and removed probable incorrect safety check. 2024-09-09 21:24:41 +02:00
Karl Zylinski cc724ff5d2 Made error handling code in parse_file clearer. 2024-09-09 21:13:39 +02:00
Karl Zylinski 957cd64699 Rename process_file_tag -> parse_file_tag 2024-09-09 21:06:43 +02:00
Karl Zylinski 3637dcbd04 Simplified error messages in parse_build_tag, removed the idea of making multiple notted operating systems since it was misinformed. 2024-09-09 21:03:28 +02:00
Thomas la Cour 954dd86f7a nightly define fix 2024-09-09 19:55:00 +02:00
Thomas la Cour 6298b23e07 tag nightly builds 2024-09-09 19:34:19 +02:00
Thomas la Cour 053425e8d7 trim version digits, release=YYYY.MM.0.0 else YYYY.MM.DD.0 2024-09-09 19:29:43 +02: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 ce3f6b60d2 Merge pull request #4223 from hstormo/bugfix
Remove stb_rect_pack implementation from stb_truetype (fix #4215)
2024-09-09 17:21:41 +02:00
gingerBill a25a9e6ebe Check for LLVM_VERSION_MAJOR >= 18 2024-09-09 14:47:44 +01:00
gingerBill 0dddd2b97e Add internal flag
`-internal-fast-isel`
2024-09-09 14:39:53 +01:00
laytan aa75909418 recompile bundled stb truetype on windows 2024-09-09 15:14:26 +02:00
Laytan Laats 0f379d7378 recompile bundled stb truetype 2024-09-09 17:09:49 +02:00
Håkon Stormo ae020ffb2e Remove stb_rect_pack implementation from stb_truetype (fix #4215) 2024-09-09 15:50:00 +02:00
A1029384756 036d7edda9 Changed Linux CI builds to static linking with Musl for better
compatibility

Changed to tarball distribution for mac and linux

Updated upload-artifact to v4
2024-09-08 18:35:16 -04: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
Karl Zylinski f3a2b625ae Merge remote-tracking branch 'origin/master' into file-tags-without-comments 2024-09-08 11:29:21 +02:00
flysand7 167ced8ad1 [mem]: Don't use named params for dynamic pool in tests 2024-09-08 18:52:55 +11:00
flysand7 05df34f99c [mem]: Start documenting allocators.odin 2024-09-08 18:44:33 +11:00
flysand7 299accb717 [mem]: Put panic allocator after nil allocator, adjust @require_results 2024-09-08 14:17:32 +11:00
flysand7 3b30bc305c [mem]: Document raw.odin 2024-09-08 14:13:03 +11:00
Karl Zylinski 73e4954346 Better #+build tag error messages: Error when using more than one !notted operating system per build line. Error when using more than one operating system within a 'kind', such as writing #+build windows linux. 2024-09-08 03:13:21 +02:00
flysand7 f1f5dc614e [mem]: Remove old comments 2024-09-08 11:17:27 +11:00
flysand7 6eb80831b5 [mem]: Panic when allocator is not initialized 2024-09-08 11:12:28 +11:00
flysand7 b78d546010 [mem]: Add non_zeroed versions of resize 2024-09-08 11:02:17 +11:00
flysand7 c719a86312 [mem]: Document alloc.odin 2024-09-08 10:58:40 +11:00