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 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
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
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
jakubtomsu
7487d507be
unmarshal bitset ints like cbor does
2024-09-04 11:08:45 +02:00
Jeroen van Rijn
c6b551d2c3
Merge pull request #4194 from Feoramund/update-bit-array
...
Update `bit_array`
2024-09-03 23:42:27 +02:00
Feoramund
c3bd94a27e
Change Bit_Array.max_index to length
...
This will allow correct iteration of empty `bit_array`s.
2024-09-03 16:56:02 -04:00
Jeroen van Rijn
645207b8b0
Merge pull request #4192 from laytan/strings-substring-rune-wise
...
strings: add `substring`, `substring_to` and `substring_from`
2024-09-03 22:47:56 +02:00
Feoramund
d86e56089a
Fix iteration of biased Bit_Array
2024-09-03 15:34:38 -04:00
Laytan Laats
597ba796b7
strings: add substring, substring_to and substring_from
2024-09-03 21:13:35 +02:00
Laytan Laats
288312a812
core: improve package doc comments for the documentation generator
2024-09-03 19:59:04 +02:00
Laytan
6bbc165121
Merge pull request #4181 from laytan/more-riscv-sysinfo
...
sys/info: more CPU feature detection for RISC-V
2024-09-03 19:54:15 +02:00
Feoramund
b8f8cb9582
Add bit_array.shrink
2024-09-03 13:33:15 -04:00
Feoramund
001b2b9d8f
Let bit_array.create make zero-length arrays
2024-09-03 13:33:11 -04:00
Laytan
33735ba5cc
Merge pull request #4180 from dvrd/alt
...
fix(os2): mkdir_all on path_posix
2024-09-03 19:31:04 +02:00
Jeroen van Rijn
996175753c
strings.cut without allocation.
2024-09-03 19:02:40 +02:00
pkova
5b9b21e756
Fix thread sanitizer errors surfaced by tests/core/io
2024-09-03 16:30:51 +03:00
gingerBill
d93aca647b
Merge pull request #4171 from yay/objc-runtime-bindings
...
More Objective-C Runtime bindings.
2024-09-03 14:28:02 +01:00
gingerBill
6ed4bfeba1
Merge pull request #4186 from Feoramund/fix-4177
...
Return false if `Small_Array` can't append multiple elements
2024-09-03 14:25:15 +01:00
gingerBill
99a3e9a510
Merge pull request #4187 from Feoramund/fix-slice-equal
...
Check for zero-length slices in `slice.equal`
2024-09-03 14:24:45 +01:00
Vitalii Kravchenko
c86bbc61bc
More Objective-C Runtime bindings.
2024-09-03 11:41:23 +01:00
Feoramund
806c87d71d
Check for zero-length slices in slice.equal
2024-09-03 02:48:26 -04:00
Feoramund
309953e0f2
Return false if Small_Array can't append multiple elements
...
Fixes #4177
2024-09-03 01:14:17 -04:00
Feoramund
f6f2c67f37
Add time.time_to_datetime
2024-09-03 00:55:09 -04:00
Laytan Laats
60321d98d4
also fix the doc comment in the code generator
2024-09-02 20:22:02 +02:00
Laytan Laats
195259e88b
fix some doc comments
2024-09-02 20:10:11 +02:00
laytan
35731e66cf
sys/info: more CPU feature detection for RISC-V
2024-09-02 14:06:19 +00:00
Dan Castrillo
54b46247bd
fix(os2): mkdir_all on path_posix
2024-09-02 08:47:26 -04:00
Jeroen van Rijn
dd1f151696
Add math.remap_clamped.
2024-09-01 17:22:58 +02:00
Karl Zylinski
6e150d1d58
Make math.remap clamp the result in range [new_min, new_max].
2024-09-01 16:30:48 +02:00
gingerBill
6ba1506aa9
Fix possible leaks in os2.user_* calls
2024-08-31 15:12:47 +01:00
Laytan Laats
e0a2e52601
c/libc: fix time link name
2024-08-31 02:49:53 +02:00
Laytan Laats
bfedcd7035
encoding/csv: fix examples
2024-08-30 23:31:31 +02:00
Laytan Laats
6ef49d4f24
core/odin: support #type_assert and #no_type_assert
2024-08-30 23:21:35 +02:00
Jeroen van Rijn
8ad4427a25
Add a few more reflect.bit_field_* helpers.
2024-08-30 22:40:14 +02:00
Jeroen van Rijn
db3bcd2cea
Add reflect.bit_fields_zipped
2024-08-30 22:04:10 +02:00
gingerBill
773703bc83
Merge pull request #4009 from thetarnav/file-tag-parser
...
Add a file tag parser to core:odin/parser
2024-08-30 11:58:18 +01:00
gingerBill
b020b91df2
Merge pull request #4112 from Feoramund/fix-test-io-issues
...
Add `core:io` test suite
2024-08-30 09:57:02 +01:00