Commit graph

35861 commits

Author SHA1 Message Date
Andrew Kelley
c0c2010535 std.c: fix msghdr struct on big endian targets 2025-10-29 06:20:52 -07:00
Andrew Kelley
a28d3059e6 std.Io.Threaded: implement ResetEvent in terms of pthreads
needed for NetBSD
2025-10-29 06:20:52 -07:00
Andrew Kelley
30448d92af std.Io.Threaded: fix netLookup for Windows
* respect address family option
* fix port number using wrong buffer
2025-10-29 06:20:52 -07:00
Andrew Kelley
030ddc7952 update standalone tests for ws2_32 dependency 2025-10-29 06:20:51 -07:00
Andrew Kelley
135ec79f50 std.Io.File: fix stat for Windows 2025-10-29 06:20:51 -07:00
Andrew Kelley
6b8972dd22 resinator: update for Io API 2025-10-29 06:20:51 -07:00
Andrew Kelley
cc4931b325 std.Io.Threaded: fix 32-bit overflow in lookupDns
be a little more careful with nanoseconds
2025-10-29 06:20:51 -07:00
Andrew Kelley
c8739d6953 std.Io.Group: fix leak when wait is canceled
Only when the operation succeeds should the token field be set to null.
2025-10-29 06:20:51 -07:00
Andrew Kelley
3de1b6c9a9 std.Io.Threaded: better clock lowering for BSDs 2025-10-29 06:20:51 -07:00
Andrew Kelley
80a341b411 std: remove awareness of POLL signal
this signal seems to be deprecated and/or useless on every target
2025-10-29 06:20:51 -07:00
Andrew Kelley
8b269f7e18 std: make signal numbers into an enum
fixes start logic for checking whether IO/POLL exist
2025-10-29 06:20:51 -07:00
Andrew Kelley
cc751c01f1 std.Io.Threaded: correct clockToPosix for FreeBSD 2025-10-29 06:20:51 -07:00
Andrew Kelley
ef55dcae67 start: fix logic for signal hanlding when SIG.POLL does not exist
fixes a compilation failure on FreeBSD
2025-10-29 06:20:51 -07:00
Andrew Kelley
bbc1c07538 std.zig.system: fix error set of abiAndDynamicLinkerFromFile 2025-10-29 06:20:51 -07:00
Andrew Kelley
4e95c2eb1b std.Io.Threaded: implement futexes for freebsd 2025-10-29 06:20:51 -07:00
Andrew Kelley
a87fd37bf5 std.Io: make Evented equal void when unimplemented
This allows conditional compilation checks.
2025-10-29 06:20:51 -07:00
Andrew Kelley
0caf286a1a std.Io.Threaded: don't skip executing canceled group closures 2025-10-29 06:20:51 -07:00
Andrew Kelley
df4c30ca16 link: move the windows kernel bug workaround to Io implementation 2025-10-29 06:20:51 -07:00
Andrew Kelley
02119362d7 wasm linking: handle unreachable call_indirect
The compiler crashed when we tried to call a function pointer for which
the type signature does not match any function body or function import
in the entire wasm executable, because there is no way to create a
reference to a function without it being in the function table or import
table. Solution is to make this instruction lower to unreachable.
2025-10-29 06:20:51 -07:00
Andrew Kelley
6ccb53bff1 std.Io.Threaded: fix openSelfExe for Windows
missing a call to wToPrefixedFileW
2025-10-29 06:20:51 -07:00
Andrew Kelley
441d0c4272 std.Io.net.HostName: fix missing group cancel 2025-10-29 06:20:51 -07:00
Andrew Kelley
f9de83c90e std.Io.net: skip testing netInterfaceNameResolve on Windows
let's handle this in a follow-up change. implementation needs to use
ConvertInterfaceNameToLuidW and the additional dependency on
Iphlpapi.dll poses some challenges.
2025-10-29 06:20:51 -07:00
Andrew Kelley
f6c5525c84 std.Io.Threaded: fix compilation on pthreads linux 2025-10-29 06:20:51 -07:00
Andrew Kelley
fd7475c8b2 std.Io.Threaded: implement netWrite for Windows 2025-10-29 06:20:51 -07:00
Andrew Kelley
6cff32c7ee std.Io.Threaded: implement netRead for Windows 2025-10-29 06:20:51 -07:00
Andrew Kelley
a8f95e5176 std.Io.Threaded: implement cancellation for pthreads
not to be confused with pthread_cancel, which is a useless API.
2025-10-29 06:20:51 -07:00
Andrew Kelley
85e159e652 std.Io.Threaded: closures must always be run even when canceled 2025-10-29 06:20:51 -07:00
Andrew Kelley
ed7067a690 std.Io: more convenient sleep 2025-10-29 06:20:51 -07:00
Andrew Kelley
e6b4e1a5d0 disable self-hosted wasm test-cases
Tracked by #25684
2025-10-29 06:20:51 -07:00
Andrew Kelley
ae86c0f529 std.Io: adjust concurrent error set
Now std.Io.Threaded can return error.ConcurrencyUnavailable rather than
asserting. This is handy for logic that wants to try a concurrent
implementation but then fall back to a synchronous one.
2025-10-29 06:20:51 -07:00
Andrew Kelley
ecdc00466c std.Io.net: make it easier to use netReceiveMany correctly 2025-10-29 06:20:51 -07:00
Andrew Kelley
c87fbd5878 std.os.linux.IoUring: use linux msghdr
it disagrees with posix msghdr
2025-10-29 06:20:51 -07:00
Andrew Kelley
46f7e3ea9f std.Io.Threaded: add ioBasic which disables networking 2025-10-29 06:20:51 -07:00
Andrew Kelley
701d4bc80b objcopy: update for std.Io API 2025-10-29 06:20:51 -07:00
Andrew Kelley
5c527a1854 std.Io.Threaded: implement fileStat for Windows 2025-10-29 06:20:51 -07:00
Andrew Kelley
5d7672f2ad std.Io.Threaded: stub netConnectUnix for Windows 2025-10-29 06:20:51 -07:00
Andrew Kelley
89bb58e5a3 incr-check: windows source files depend on ws2_32 2025-10-29 06:20:51 -07:00
Andrew Kelley
a1f177d637 std.Io.Threaded: stub netListenUnix for Windows 2025-10-29 06:20:51 -07:00
Andrew Kelley
5578c760a7 std.Io.Kqueue: implement wait queue per fd
Solves the issue when one kevent() call would clobber another if they
used the same file descriptor as an identifier.
2025-10-29 06:20:51 -07:00
Andrew Kelley
6a64c9b7c8 std.Io.Kqueue: add missing Thread deinit logic 2025-10-29 06:20:51 -07:00
Andrew Kelley
cc11dd1f87 std.Io.Kqueue: implement EAGAIN logic for netRead 2025-10-29 06:20:51 -07:00
Andrew Kelley
0497f88d39 std.Io.Kqueue: implement netRead 2025-10-29 06:20:51 -07:00
Andrew Kelley
1b0dcd4007 std.Io.Threaded: fix setting of O_NONBLOCK flag 2025-10-29 06:20:51 -07:00
Andrew Kelley
f17c6bba57 std.Io.Kqueue: implement netConnect 2025-10-29 06:20:51 -07:00
Andrew Kelley
9d6750f01c std.Io.Kqueue: implement netSend 2025-10-29 06:20:51 -07:00
Andrew Kelley
92b8378814 concurrent and await 2025-10-29 06:20:51 -07:00
Andrew Kelley
dd945bf1f8 one kqueue per thread 2025-10-29 06:20:51 -07:00
Andrew Kelley
41070932f8 revert adding asyncDetached
instead we will have Io.Group
2025-10-29 06:20:51 -07:00
Andrew Kelley
df84dc18bc add bind 2025-10-29 06:20:51 -07:00
Andrew Kelley
d6b0686b05 std.Io: add Kqueue implementation 2025-10-29 06:20:51 -07:00