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
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
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
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
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
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
Jeroen van Rijn
300b01d77d
Return "" for rune < 0 in strconv.
2024-09-08 00:32:46 +02:00
Laytan
1ab0745ca8
Merge pull request #4212 from karl-zylinski/fix-build-tags
...
Fix build tags that use ! multiple times on one line.
2024-09-07 22:18:29 +02:00
Karl Zylinski
8c636ac37b
Fix build tags that use ! multiple times on one line. Those don't actually do anything since build tags use OR within the line. So something like //+build !windows, !linux would actually build on both linux and windows. What was intended in all these cases was probably AND, which you get by splitting them into separate lines.
2024-09-07 22:02:17 +02:00
Jeroen van Rijn
466a90010f
Fix #4211
2024-09-07 21:07:29 +02:00
gingerBill
5a4746c3a0
Improve debug information for procedure types
2024-09-07 17:41:16 +01:00
Jeroen van Rijn
c4c2282595
Update 4210 test to use unaligned_load.
2024-09-07 14:05:56 +02:00
Jeroen van Rijn
d2202416d2
Add test for #4210
2024-09-07 13:43:19 +02:00
gingerBill
0a08a65202
Simplify #row_major matrix and matrix_flatten behaviour
2024-09-07 12:21:29 +01:00
gingerBill
90358f97d5
Merge pull request #4205 from Valakor/wgpu
...
Fix wgpu on Windows - missing links to ole32.lib and oleaut32.lib
2024-09-06 14:08:07 +01:00
Matthew Pohlmann
c19da21d81
Fix wgpu on Windows - missing links to ole32.lib and oleaut32.lib
2024-09-05 21:40:15 -07:00
gingerBill
78506b97a3
Merge pull request #4202 from laytan/add-fixed-point-dependency
...
add fixed point sign extend to 128 int deps
2024-09-05 19:08:38 +01:00
Laytan Laats
490f8c1568
add fixed point sign extend to 128 int deps
2024-09-05 15:55:55 +02:00
laytan
a99e57c62c
bytes: fix last_index_byte off-by-one
2024-09-05 13:30:46 +02:00
Laytan Laats
ddf5ca7adf
remove deprecation, technically deprecated but widely used
2024-09-05 01:08:09 +02:00
gingerBill
a4fd0c133e
Merge pull request #4191 from laytan/improve-package-doc-comments
...
core: improve package doc comments for the documentation generator
2024-09-04 21:37:48 +01:00
Laytan
ce018b4e6f
Merge pull request #4197 from dekdevy/master
...
fix wgpu vendor lib error message
2024-09-04 22:22:25 +02:00
dek
d2d5ac33f4
fix wgpu vendor lib error message
2024-09-04 22:04:06 +02:00
Laytan
578de09775
types with explicit custom alignment are identical to types with the same natural alignment
2024-09-04 18:48:11 +02:00
Laytan
dcf339517e
make c vararg with any vs concrete type similar enough
2024-09-04 18:47:08 +02:00