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
Andrew Kelley
a5c309a692
std.Io.net.Socket.send: fix compilation errors
2025-10-29 06:20:51 -07:00
Andrew Kelley
59ffa607a4
std.Io.Threaded: fix sending invalid pointer
...
OS wants valid control pointer even when len is zero
2025-10-29 06:20:51 -07:00
Andrew Kelley
873bcb5aa6
fix some std.Io compilation failures
2025-10-29 06:20:51 -07:00
Andrew Kelley
032152409b
std.Io.Threaded: fix signature of dirMakeOpenPathWasi
2025-10-29 06:20:51 -07:00
Andrew Kelley
a3ddca3657
std.Io.Threaded: delete Windows implementation of if_nametoindex
...
Microsoft documentation says "The if_nametoindex function is implemented
for portability of applications with Unix environments, but the
ConvertInterface functions are preferred."
This was also the only dependency on iphlpapi.
2025-10-29 06:20:51 -07:00
Andrew Kelley
2f26025690
std: fix build failure on wasm32-freestanding
2025-10-29 06:20:51 -07:00
Andrew Kelley
00a3123fbe
std.process.Child: update for std.Io changes
2025-10-29 06:20:51 -07:00
Andrew Kelley
ab003cd054
std.Io.Threaded: implement netLookup for Windows
2025-10-29 06:20:51 -07:00
Andrew Kelley
dab8dd5e03
std.os.windows.ws2_32: remove 'A' variants
2025-10-29 06:20:51 -07:00
Andrew Kelley
0107e584ef
std.Io.Threaded: implement Windows futex functions
2025-10-29 06:20:51 -07:00
Andrew Kelley
d257b1337a
std.Io.Threaded: fix compilation failures on Windows
2025-10-29 06:20:50 -07:00
Andrew Kelley
aadd8d4a3e
std: back out the StackTrace byval changes
...
Let's keep passing this thing by pointer
2025-10-29 06:20:50 -07:00
Andrew Kelley
4ed74a9f8a
std.Io.Threaded: implement netConnectIp for Windows
2025-10-29 06:20:50 -07:00
Andrew Kelley
67df66c26c
update some tests and tools for new Io APIs
2025-10-29 06:20:50 -07:00