Andrew Kelley
d9617f846f
compiler: use std.Io; delete std.Thread.Pool
2025-10-29 20:18:35 -07:00
Andrew Kelley
05b28409e7
std.Io.Threaded: install and cleanup signal handlers
...
rather than in start code. delete std.options.keep_sig_io and
std.options.keep_sig_pipe
2025-10-29 06:20:52 -07:00
Andrew Kelley
c40204a3e5
std.Io: add unit tests for Group and concurrent
2025-10-29 06:20:52 -07:00
Andrew Kelley
03fd132b1c
std.Io: fix Group.wait unsoundness
...
Previously if a Group.wait was canceled, then a subsequent call to
wait() or cancel() would trip an assertion in the synchronization code.
2025-10-29 06:20:52 -07:00
Andrew Kelley
6c794ce7bc
std.Io.Threaded.dirOpenFileWtf16: SHARING_VIOLATION
...
is the error code that needs the kernel bug workaround, not
ACCESS_DENIED.
2025-10-29 06:20:52 -07:00
Andrew Kelley
6f64c8b693
std.debug.SelfInfo.Windows: less invasive change
...
restores code closer to master branch in hopes of avoiding a regression
that was introduced when this was based on openSelfExe rather than
GetModuleFileNameExW.
2025-10-29 06:20:52 -07:00
Andrew Kelley
030b630829
std.Io.Threaded: fix EBADF error code on wasm32-wasi -lc when reading
2025-10-29 06:20:52 -07:00
Andrew Kelley
c4dc7d7c3d
std.Io.Threaded: implement Unix sockets for Windows
2025-10-29 06:20:52 -07:00
Andrew Kelley
b39f3d294d
std.Io.Threaded: implement dirMakeOpenPath for WASI
...
and fix error code when file operation occurs on director handle
2025-10-29 06:20:52 -07:00
Andrew Kelley
4114392369
std: fix definition of ws2_32.GetAddrInfoExW
...
There was a missing parameter.
2025-10-29 06:20:52 -07:00
Andrew Kelley
f5870b267e
std.Io.Threaded: fix typo in panic message
2025-10-29 06:20:52 -07:00
Andrew Kelley
94b9874981
std.Io.Threaded: stub out netbsd mutex and condition
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
135ec79f50
std.Io.File: fix stat for Windows
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
3de1b6c9a9
std.Io.Threaded: better clock lowering for BSDs
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
4e95c2eb1b
std.Io.Threaded: implement futexes for freebsd
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
6ccb53bff1
std.Io.Threaded: fix openSelfExe for Windows
...
missing a call to wToPrefixedFileW
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
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
46f7e3ea9f
std.Io.Threaded: add ioBasic which disables networking
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
a1f177d637
std.Io.Threaded: stub netListenUnix for Windows
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
df84dc18bc
add bind
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
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
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
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
4ed74a9f8a
std.Io.Threaded: implement netConnectIp for Windows
2025-10-29 06:20:50 -07:00
Andrew Kelley
76107e9e65
std.Io.Threaded: implement netBindIp for Windows
2025-10-29 06:20:50 -07:00
Andrew Kelley
0b5179a231
std.Io.Threaded: implement netAccept for Windows
2025-10-29 06:20:50 -07:00
Andrew Kelley
34891b528e
std.Io.Threaded: implement netListen for Windows
2025-10-29 06:20:50 -07:00
Andrew Kelley
62c0496d0a
std.Io.Threaded: implement dirOpenDir
2025-10-29 06:20:50 -07:00
Andrew Kelley
dc6a4f3bf1
std.Io: add dirMakePath and dirMakeOpenPath
2025-10-29 06:20:50 -07:00
Andrew Kelley
6d1b2c7f64
std.Io: introduce openSelfExe
2025-10-29 06:20:50 -07:00