Andrew Kelley
f160d5f979
std.Io.Threaded: implement file writing for Windows
2025-12-26 19:58:56 -08:00
Andrew Kelley
feeed922e1
std.Io.net: disable flaky test on mipsel
2025-12-26 19:58:56 -08:00
Ryan Liptak
58f0c8cfed
Fix logic for detecting zero buffer capacity in fileReadStreamingWindows/fileReadPositionalWindows
2025-12-26 19:58:56 -08:00
Andrew Kelley
eb29737d5d
std.Io.Threaded: more efficient statx mask check
2025-12-26 19:58:56 -08:00
Andrew Kelley
6dcf951391
std.Io.Threaded: error instead of assert for statx
...
when statx fails to return some of the requested fields
2025-12-26 19:58:56 -08:00
Andrew Kelley
2e9415d8a0
std.Io.Threaded: fix missing @memcpy in realPathPosix for FreeBSD
2025-12-26 19:58:56 -08:00
Andrew Kelley
0dbcf97551
std.Io.Threaded: fix resource leak in dirRealPathFilePosix
...
it should unconditionally close the opened file descriptor, not only on
error.
2025-12-26 19:58:56 -08:00
Andrew Kelley
eb0d5b1377
std.testing: use debug Io instance in expectEqualSlices
2025-12-26 19:58:56 -08:00
Andrew Kelley
28639bd6d7
std: prevent testing.io from use outside tests
2025-12-26 19:58:56 -08:00
Andrew Kelley
b0691df5ba
test_runner: fix simple runner compilation
2025-12-26 19:58:56 -08:00
Andrew Kelley
8d96d7d219
remove test for nonexistent API
2025-12-26 19:58:56 -08:00
Andrew Kelley
dc1d27a646
std.Io.Threaded: more verbose TODO panic messages
2025-12-26 19:58:56 -08:00
Andrew Kelley
b243e8f8cc
std: integrate DebugAllocator with terminal mode
...
by adding a new std.Option for log.terminalMode
this is an alternative to the approach that was deleted in
aa57793b68
2025-12-26 19:58:56 -08:00
Andrew Kelley
315bc10a0c
std.Io.Threaded: dirRealPathFilePosix use libc realpath sometimes
...
When linking libc, and the directory is the cwd.
This avoids bugs on FreeBSD.
2025-12-24 12:57:18 -08:00
Andrew Kelley
6f4e93f0dd
std.Io.Threaded: wasi does not support processExecutablePath
2025-12-24 00:55:27 -08:00
Andrew Kelley
ace08ba642
std.Io.Threaded: prevent 0-byte file writes
...
these cause EINVAL on darwin and are generally a wasted syscall.
and remove a bogus error from File.Writer.Error.
2025-12-23 23:46:43 -08:00
Andrew Kelley
a901e92413
std.Io.Threaded: implement process executable path on darwin
2025-12-23 23:31:47 -08:00
Andrew Kelley
fa79d34674
std: add changing cur dir back
...
There's a good argument to not have this in the std lib but it's more
work to remove it than to leave it in, and this branch is already
20,000+ lines changed.
2025-12-23 22:15:12 -08:00
Andrew Kelley
98e9716c08
std: fix compilation on NetBSD
2025-12-23 22:15:12 -08:00
Andrew Kelley
669dae140c
test-standalone: fix most compilation errors
2025-12-23 22:15:12 -08:00
Andrew Kelley
0870f17501
fix aro and resinator compilation errors
2025-12-23 22:15:12 -08:00
Andrew Kelley
c05e2720a1
tools: fix compilation errors
2025-12-23 22:15:12 -08:00
Andrew Kelley
bd6acbf7da
std.Io: minor cleanups to futex and event
...
mainly avoid an unnecessary `@ptrCast`
2025-12-23 22:15:12 -08:00
Andrew Kelley
e9da2783ce
std.Io.Threaded: add a workaround for self-hosted wasm backend
...
Tracked by #30575
2025-12-23 22:15:12 -08:00
Andrew Kelley
691afee786
langref: fix build failure
2025-12-23 22:15:12 -08:00
Andrew Kelley
33e302d67a
update remaining calls to std.Io.Threaded.init
2025-12-23 22:15:12 -08:00
Andrew Kelley
7c1236e267
std: different way of doing some options
...
to avoid dependency loops
2025-12-23 22:15:12 -08:00
Andrew Kelley
9aee45be97
fix "zig std" compilation errors
2025-12-23 22:15:12 -08:00
Andrew Kelley
9158d3b281
std: remove ability to override Io.File.Permissions
...
This is causing another compiler dependency loop. I'll tackle these
overrides separately.
2025-12-23 22:15:12 -08:00
Andrew Kelley
c98157a3c9
std.Io.Threaded: implement environment variable scanning
2025-12-23 22:15:12 -08:00
Andrew Kelley
0992f1204e
std.debug: delete nosuspend blocks
...
now that the application can choose an Io implementation these might
actually suspend.
2025-12-23 22:15:12 -08:00
Andrew Kelley
78c4fcfcd8
std.debug.lockStderr: cancel protection rather than recancel
...
because we need to return the value
2025-12-23 22:15:12 -08:00
Andrew Kelley
3c2f5adf41
std: integrate Io.Threaded with environment variables
...
* std.option allows overriding the debug Io instance
* if the default is used, start code initializes environ and argv0
also fix some places that needed recancel(), thanks mlugg!
See #30562
2025-12-23 22:15:12 -08:00
Andrew Kelley
86e9e32cf0
std.Io: fix missing try in waitTimeout
2025-12-23 22:15:12 -08:00
Andrew Kelley
a29d79313a
std.Io.Threaded: accept argv and environ on init
...
This is needed unfortunately for OpenBSD and Haiku for process
executable path.
I made it so that you can omit the options usually, but you get a
compile error if you omit the options on those targets.
2025-12-23 22:15:12 -08:00
Michael Dusan
60481b8223
std.Io: trim terminating NUL from exe path on BSDs
2025-12-23 22:15:12 -08:00
Andrew Kelley
1132e329d3
std.Io.Threaded: fix up processExecutablePath OpenBSD
...
* policy is to always handle EINTR from all syscalls
* assert the result of realpath
* don't ignore errors from realpath
* hard-code path separators for code simplicity
2025-12-23 22:15:11 -08:00
Michael Dusan
7014976d3d
openbsd: avoid error.OperationUnsupported
...
- realPathPosix does not support OpenBSD
- change processExecutablePath OpenBSD section to use std.c.realpath
2025-12-23 22:15:11 -08:00
Michael Dusan
8fdfeb624d
openbsd: fix OS version detection
...
- do not include resulting nullz from sysctl MIB fetch
- fixes bug: "7.8<NULL>" is a std.Target.Query.parseVersion error
2025-12-23 22:15:11 -08:00
Michael Dusan
90bc371f56
openbsd: use Io.Dir.realPathFileAbsolute
2025-12-23 22:15:11 -08:00
Michael Dusan
486ed907f7
dragonfly: define std.c.nlink_t
2025-12-23 22:15:11 -08:00
Andrew Kelley
70e19ea353
update more "realpath" callsites
2025-12-23 22:15:11 -08:00
Ryan Liptak
51a6f3a525
Update a few more callsites for std.Io changes
2025-12-23 22:15:11 -08:00
Ryan Liptak
8968d75fb1
fileStat needs read permissions on Windows
2025-12-23 22:15:11 -08:00
Ryan Liptak
bb788cd392
dirOpenFileWtf16: Disallow opening directories when requesting write permissions
...
This matches the behavior of POSIX
2025-12-23 22:15:11 -08:00
Ryan Liptak
e442a0ecc2
Dir.readFile/readFileAlloc: take advantage of .allow_directory = false on Windows
...
Since we know the read will fail for directories, we can take advantage
of Windows being able to fail with IsDir during open to avoid needing to
wait until the read to find out about the directory-ness of the file.
2025-12-23 22:15:11 -08:00
Ryan Liptak
ad08117e9d
Fix sizing of buffer/reservation size for dirReadWindows
2025-12-23 22:15:11 -08:00
Andrew Kelley
fd0c324cb0
std.debug: fix simple_panic
2025-12-23 22:15:11 -08:00
Andrew Kelley
77d2ad8c92
std: consolidate all instances of std.Io.Threaded into a singleton
...
It's better to avoid references to this global variable, but, in the
cases where it's needed, such as in std.debug.print and collecting stack
traces, better to share the same instance.
2025-12-23 22:15:11 -08:00
Andrew Kelley
7d955274bb
update the init templates to new std API
2025-12-23 22:15:11 -08:00