Commit Graph

5555 Commits

Author SHA1 Message Date
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
Laytan Laats
5a22d49b72 mem/virtual: make sure the given size is used for subsequent blocks 2024-08-29 14:48:36 +02:00
Laytan
942017b958 Merge pull request #4163 from laytan/sysconf-pagesize
mem/virtual: use `sysconf` for retrieving page size and actually use these init procs
2024-08-29 14:44:54 +02:00
Laytan Laats
fd2ad20cd4 mem/virtual: use sysconf for retrieving page size and actually use these init procs 2024-08-29 14:36:32 +02:00
Laytan Laats
0f2ad95014 Fix EOF detection is os2 window read 2024-08-28 19:53:20 +02:00
Feoramund
f453054aff Return 0, nil in all io cases where an empty slice is provided 2024-08-28 19:53:20 +02:00
Feoramund
ef99373c31 Fix pread and pwrite on os2 Windows
The previous code was jumping ahead by the specified offset, instead of
getting the current offset.
2024-08-28 19:53:20 +02:00
Feoramund
56f232e5fc Report invalid whence & offset on os2 Windows 2024-08-28 19:53:20 +02:00
Feoramund
de1432b315 Fix Windows infinite recursion with os2._flush 2024-08-28 19:53:20 +02:00
Feoramund
e7d6e2d163 Add documentation to os2.close
Make it explicit that using a stream after closing is like a
use-after-free bug.
2024-08-28 19:53:20 +02:00
Feoramund
6798d15ecb Check int(abs) instead to avoid overflows 2024-08-28 19:53:20 +02:00
Feoramund
6aedb2695a Report Invalid_Whence on some os platforms
- Move `Seek`-related checks into OS-specific files for granularity.

Platforms:
- Darwin
- FreeBSD
- Haiku
- Linux
- NetBSD
- OpenBSD
2024-08-28 19:53:20 +02:00
Feoramund
0243647e15 Add missing flush functionality to os platforms
Platforms:
- FreeBSD
- Haiku
- Linux
- NetBSD
- OpenBSD
2024-08-28 19:53:20 +02:00
Feoramund
3ec4db212b Report Invalid_Whence in os2 Linux seek 2024-08-28 19:53:20 +02:00
Feoramund
7683c1f4bb Report Invalid_Whence in os2 POSIX seek 2024-08-28 19:53:20 +02:00
Feoramund
ef2cd9d97f Copy missing errors in os2._get_platform_error from posix to linux 2024-08-28 19:53:20 +02:00
Feoramund
741ccd7ff5 Zero n on error in _file_stream_proc 2024-08-28 19:53:20 +02:00
Feoramund
eb92a2df71 Fix indentation 2024-08-28 19:53:20 +02:00
Feoramund
d60f404bb4 Fix OpenBSD implementations of read_at and write_at 2024-08-28 19:53:20 +02:00
Feoramund
6c4806835c Fix indentation 2024-08-28 19:53:20 +02:00
Feoramund
e1555e04ad Fix Haiku implementations of read_at and write_at 2024-08-28 19:53:20 +02:00
Feoramund
7061032db6 Fix NetBSD implementations of read_at and write_at
These procedures must not modify the underlying file pointer.
2024-08-28 19:53:20 +02:00
Feoramund
861d892ffe Make Windows pread and pwrite conform to POSIX 2024-08-28 19:53:20 +02:00
Feoramund
5c8c63ae04 Fix FreeBSD implementations of read_at and write_at
These procedures must not modify the underlying file pointer.
2024-08-28 19:53:20 +02:00
Feoramund
1ced76cdd1 Fix broken cases of Seek usage in _file_stream_proc
Handles `EINVAL`, among other fixes.
2024-08-28 19:53:20 +02:00
Feoramund
e83b982afe Measure bytes.Buffer size by length instead of capacity 2024-08-28 19:53:20 +02:00
Feoramund
7c6cc81041 Add Seek behavior to bytes.Buffer 2024-08-28 19:53:20 +02:00
Feoramund
521e47ffee Don't invalidate prev_rune if Reader seek failed 2024-08-28 19:53:20 +02:00
Feoramund
8251f4d7d0 Return .EOF in bytes.buffer_read_at instead
This is consistent with the other stream `read` procs
2024-08-28 19:53:20 +02:00
Feoramund
da49f7eb4e Make bytes.reader_init return an io.Stream
Makes the API like the other stream `init` procs.
2024-08-28 19:53:20 +02:00
Feoramund
d66486c17e Make io.Section_Reader set base too
This should fix seeking from `.Start`, getting the `size`, and
`read_at`.

Also make the API consistent with the other `*_init` procs in
`util.odin` by returning the `io.Reader`.
2024-08-28 19:53:20 +02:00
Feoramund
981a2e1a00 Add missing io.Stream_Mode responses 2024-08-28 19:53:19 +02:00
Laytan
5e850e24d6 os2: disable custom heap allocator
See #4161
2024-08-28 19:45:34 +02:00
Jeroen van Rijn
17d10b72d5 Merge pull request #4158 from sqrt-negativeone/master
Win32 clipboard procedures
2024-08-28 19:02:18 +02:00
Jeroen van Rijn
831e26cb6f Remove unused import. 2024-08-28 18:42:54 +02:00
Fakhri Mouad
16503c3b91 Add Win32 procs needed to handle clipboard 2024-08-28 16:36:06 +01:00
Laytan Laats
1e6419b5b7 fix zombie thread leak in thread self cleanup 2024-08-28 16:22:38 +02:00
Laytan Laats
ef66f96cf2 fix windows bindings where BOOL is not actually a boolean
Fixes #4157
2024-08-28 15:45:41 +02:00
gingerBill
8694fa5f78 Minor cleanup of CFString.odin 2024-08-27 11:22:28 +01:00
gingerBill
91f8c626bb Merge pull request #4148 from Feoramund/tls-cleaner
Add API for freeing `thread_local` state
2024-08-26 22:37:08 +01:00
Laytan
c1684d6335 Merge pull request #4136 from flysand7/process-info-fix
[os2/process]: Don't free process info fields in partial success scenarios
2024-08-26 23:25:21 +02:00
flysand7
1a4faff9c9 [os2/process]: Fix typo on doc comments 2024-08-27 08:06:11 +11:00
Laytan
ef254ec055 Merge pull request #4153 from Feoramund/fix-4151
Fix #4151
2024-08-26 22:59:48 +02:00
Ed Yu
4e2bce0c83 Fix error for uuid to require 36 bytes instead 32 (4 bytes for dashes) 2024-08-26 10:25:10 -07:00
Feoramund
d43c6e39f6 Fix #4151
The `core:mem` procs were calling the wrong `runtime` procs for their
number of arguments.
2024-08-26 13:23:04 -04:00
Feoramund
9fac03b84c Fix use-after-free in thread.Pool 2024-08-26 06:39:05 -04:00
Feoramund
49606ec3ea Use thread_local_cleaner API in os2 2024-08-26 06:01:59 -04:00
Feoramund
d338642dc4 Add API for freeing thread_local state 2024-08-26 06:01:59 -04:00
flysand7
3119e0489f [os2/process]: Fix vet errors 2024-08-26 07:23:59 +11:00
flysand7
db94e646e0 [os2/process]: Adjust documentation for process info 2024-08-26 07:21:54 +11:00