| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-11-04 | Io.Queue: fix empty and full states being indistinguishable. | Jacob Young | |
| 2025-10-30 | Io: fix some horrible data races and UAFs caused by `Condition` misuse | Jacob Young | |
| 2025-10-29 | std.Io: add unit test for select | Andrew Kelley | |
| 2025-10-29 | std.Io: fix Group.wait unsoundness | Andrew Kelley | |
| 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 | std.Io.Threaded: implement dirMakeOpenPath for WASI | Andrew Kelley | |
| and fix error code when file operation occurs on director handle | |||
| 2025-10-29 | std.Io.Group: fix leak when wait is canceled | Andrew Kelley | |
| Only when the operation succeeds should the token field be set to null. | |||
| 2025-10-29 | std.Io: make Evented equal void when unimplemented | Andrew Kelley | |
| This allows conditional compilation checks. | |||
| 2025-10-29 | std.Io: more convenient sleep | Andrew Kelley | |
| 2025-10-29 | std.Io: adjust concurrent error set | Andrew Kelley | |
| 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 | std.Io: add Kqueue implementation | Andrew Kelley | |
| 2025-10-29 | std.Io: add dirMakePath and dirMakeOpenPath | Andrew Kelley | |
| 2025-10-29 | std.Io: introduce openSelfExe | Andrew Kelley | |
| 2025-10-29 | std.Io: add dirClose | Andrew Kelley | |
| 2025-10-29 | std.Io: add dirOpenDir and WASI impl | Andrew Kelley | |
| 2025-10-29 | std.Io.Threaded: implement dirMake for WASI | Andrew Kelley | |
| 2025-10-29 | std.Io: add dirAccess | Andrew Kelley | |
| 2025-10-29 | fix miscellaneous compilation failures | Andrew Kelley | |
| 2025-10-29 | std.Io: stub file writing rather than incorrect impl | Andrew Kelley | |
| 2025-10-29 | std.Io: rename EventLoop to IoUring | Andrew Kelley | |
| `std.Io.Evented` is introduced to select an appropriate Io implementation depending on OS | |||
| 2025-10-29 | std.Io.Group: add cancellation support to "wait" | Andrew Kelley | |
| 2025-10-29 | std.Io.Queue: add "uncancelable" variants to "get" | Andrew Kelley | |
| useful for resource management | |||
| 2025-10-29 | std.Io: implement Select | Andrew Kelley | |
| and finish implementation of HostName.connect | |||
| 2025-10-29 | std.Io.net.HostName: move lookup to the interface | Andrew Kelley | |
| 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 | compiler: update for introduction of std.Io | Andrew Kelley | |
| only thing remaining is using libc dns resolution when linking libc | |||
| 2025-10-29 | std.Io.Threaded: implement netListenUnix | Andrew Kelley | |
| 2025-10-29 | std.Io.net.Stream.Reader: fix not using buffer | Andrew Kelley | |
| 2025-10-29 | std: fix seekBy unit test | Andrew Kelley | |
| 2025-10-29 | std.Io: add unix domain sockets API | Andrew Kelley | |
| note that "reuseaddr" does nothing for these | |||
| 2025-10-29 | std.Io: implement dirOpenFile | Andrew Kelley | |
| 2025-10-29 | std.Io: implement dirStatPath | Andrew Kelley | |
| 2025-10-29 | std.Io: bring back Timestamp but also keep Clock.Timestamp | Andrew Kelley | |
| this feels better | |||
| 2025-10-29 | std: updating to std.Io interface | Andrew Kelley | |
| got the build runner compiling | |||
| 2025-10-29 | std.zig.system: upgrade to std.Io.Reader | Andrew Kelley | |
| 2025-10-29 | WIP: hack away at std.Io return flight | Andrew Kelley | |
| 2025-10-29 | WIP: hack at std.Io on a plane | Andrew Kelley | |
| 2025-10-29 | std.Io.net: implement receiving connectionless messages | Andrew Kelley | |
| 2025-10-29 | std.Io: implement netSend | Andrew Kelley | |
| 2025-10-29 | std.Io.net: make netSend support multiple messages | Andrew Kelley | |
| this lowers to sendmmsg on linux, and means Io.Group is no longer needed, resulting in a more efficient implementation. | |||
| 2025-10-29 | std.Io.net.HostName: finish implementing DNS lookup | Andrew Kelley | |
| 2025-10-29 | std.Io.Threaded: implement Group.cancel | Andrew Kelley | |
| 2025-10-29 | std.Io: implement Group API | Andrew Kelley | |
| 2025-10-29 | std.Io: rename asyncConcurrent to concurrent | Andrew Kelley | |
| 2025-10-29 | Io.net: implement more networking | Andrew Kelley | |
| the next task is now implementing Io.Group | |||
| 2025-10-29 | std.Io.net: progress towards DNS resolution | Andrew Kelley | |
| 2025-10-29 | Io.net: use resolve for IPv6 | Andrew Kelley | |
| /etc/resolv.conf might have IPv6 addresses with scope in it, so this is needed. | |||
| 2025-10-29 | std.Io: rename ThreadPool to Threaded | Andrew Kelley | |
| 2025-10-29 | std.Io: extract Dir to separate file | Andrew Kelley | |
| 2025-10-29 | Io.net: partial implementation of dns lookup | Andrew Kelley | |
| 2025-10-29 | std: start moving fs.File to Io | Andrew Kelley | |
| 2025-10-29 | std.Io.net: partially implement HostName.lookup | Andrew Kelley | |
