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
Andrew Kelley
1c67607397
std.Io.Threaded: implement dirOpenFile for Windows
2025-10-29 06:20:50 -07:00
Andrew Kelley
b561d5f3fe
std.Io.Threaded: implement dirCreateFile for Windows
2025-10-29 06:20:50 -07:00
Andrew Kelley
aa6e8eff40
std.Io.Threaded: implement dirAccess for Windows
2025-10-29 06:20:50 -07:00
Andrew Kelley
482343f2e2
std.Io.Threaded: implement dirStatPath for Windows
2025-10-29 06:20:50 -07:00
Andrew Kelley
ed7747e90f
std.Io.Threaded: add dirMake for Windows
2025-10-29 06:20:50 -07:00
Andrew Kelley
10b1eef2d3
std: fix compilation errors on Windows
2025-10-29 06:20:50 -07:00
Andrew Kelley
83e4ff6f4c
std.Io: add dirClose
2025-10-29 06:20:50 -07:00
Andrew Kelley
752d38612f
std.Io.Threaded: fix -fsingle-threaded build
2025-10-29 06:20:50 -07:00
Andrew Kelley
81e7e9fdbb
std.Io: add dirOpenDir and WASI impl
2025-10-29 06:20:50 -07:00
Andrew Kelley
da6b959f64
std.Io.Threaded: implement dirOpenFile for WASI
2025-10-29 06:20:50 -07:00
Andrew Kelley
e87ceb76c2
std.Io.net.Server: refine AcceptError set
2025-10-29 06:20:50 -07:00
Andrew Kelley
cf6fa219fd
std.Io.Threaded: fix netWrite cancellation
...
Move std.posix logic over rather than calling into it.
2025-10-29 06:20:50 -07:00
Andrew Kelley
d4215ffaa0
std.Io.Threaded: implement dirCreateFile for WASI
2025-10-29 06:20:50 -07:00
Andrew Kelley
143127529b
std.Io.Threaded: implement dirMake for WASI
2025-10-29 06:20:50 -07:00
Andrew Kelley
ec9dfc540b
std.Io.Threaded: handle ECANCELED
...
none of these APIs are documented to return this error code, but it
would be cool if they did.
2025-10-29 06:20:50 -07:00
Andrew Kelley
f8ea00bd6d
std.Io: add dirAccess
2025-10-29 06:20:50 -07:00
Andrew Kelley
3bf0ce65a5
fix miscellaneous compilation errors
...
- ILSEQ -> error.BadPathName
- implement dirStatPath for WASI
2025-10-29 06:20:50 -07:00
Andrew Kelley
6336d58661
std.Io.Threaded: fix getaddrinfo usage
2025-10-29 06:20:50 -07:00
Andrew Kelley
f7bbcb4a4b
fix miscellaneous compilation failures
2025-10-29 06:20:50 -07:00
Andrew Kelley
90fdd21df6
std: move DNS record enum to a better namespace
2025-10-29 06:20:50 -07:00
Andrew Kelley
bf841bb4ae
std.Io.Threaded: implement futexes on darwin
2025-10-29 06:20:50 -07:00
Andrew Kelley
18ec9685fb
std.Io.Threaded: add support for getaddrinfo
...
this API sucks but it's the best we've got on some operating systems
2025-10-29 06:20:49 -07:00
Andrew Kelley
031044b399
std: fix macos compilation errors
2025-10-29 06:20:49 -07:00
Andrew Kelley
bb1bf5b96f
std.Io: stub file writing rather than incorrect impl
2025-10-29 06:20:49 -07:00
Andrew Kelley
81b1bfbfbb
std.Io.Threaded: wrangle TODOs
2025-10-29 06:20:49 -07:00
Andrew Kelley
060fd975d9
std.Io.Group: add cancellation support to "wait"
2025-10-29 06:20:49 -07:00
Andrew Kelley
10bfbd7d60
std.Io.Threaded: rename from "pool"
2025-10-29 06:20:49 -07:00
Andrew Kelley
d3c4158a10
std.Io: implement Select
...
and finish implementation of HostName.connect
2025-10-29 06:20:49 -07:00
Andrew Kelley
35ce907c06
std.Io.net.HostName: move lookup to the interface
...
Unfortunately this can't be implemented "above the vtable" because
various operating systems don't provide low level DNS resolution
primitives such as just putting the list of nameservers in a file.
Without libc on Linux it works great though!
Anyway this also changes the API to be based on Io.Queue. By using a
large enough buffer, reusable code can be written that does not require
concurrent, yet takes advantage of responding to DNS queries as they
come in. I sketched out a new implementation of `HostName.connect` to
demonstrate this, but it will require an additional API (`Io.Select`) to
be implemented in a future commit.
This commit also introduces "uncancelable" variants for mutex locking,
waiting on a condition, and putting items into a queue.
2025-10-29 06:20:49 -07:00
Andrew Kelley
1382e41226
std.Io.Threaded: import std.Io.net
2025-10-29 06:20:49 -07:00
Andrew Kelley
2bcdde2985
compiler: update for introduction of std.Io
...
only thing remaining is using libc dns resolution when linking libc
2025-10-29 06:20:49 -07:00
Andrew Kelley
0732ff2263
std.Io.Threaded: implement connecting to unix sockets
2025-10-29 06:20:49 -07:00
Andrew Kelley
e8cea8accb
std.Io.Threaded: implement netListenUnix
2025-10-29 06:20:49 -07:00