# more std lib async I/O integration · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/0b5bcd2f56a84e66d5c700744ec1838381893667)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 0b5bcd2f56a84e66d5c700744ec1838381893667

Requested commit: 0b5bcd2f56a84e66d5c700744ec1838381893667

Commit: 0b5bcd2f56a84e66d5c700744ec1838381893667

Tree: 5b640a57055e50636fe7a9f782915b2126395ef3

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
more std lib async I/O integration

 * `zig test` gainst `--test-evented-io` parameter and gains the ability
   to seamlessly run async tests.
 * `std.ChildProcess` opens its child process pipe with O_NONBLOCK when
   using evented I/O
 * `std.io.getStdErr()` gives a File that is blocking even in evented
   I/O mode.
 * Delete `std.event.fs`. The functionality is now merged into `std.fs`
   and async file system access (using a dedicated thread) is
   automatically handled.
 * `std.fs.File` can be configured to specify whether its handle is
   expected to block, and whether that is OK to block even when in
   async I/O mode. This makes async I/O work correctly for e.g. the
   file system as well as network.
 * `std.fs.File` has some deprecated functions removed.
 * Missing readv,writev,pread,pwrite,preadv,pwritev functions are added
   to `std.os` and `std.fs.File`. They are all integrated with async
   I/O.
 * `std.fs.Watch` is still bit rotted and needs to be audited in light
   of the new async/await syntax.
 * `std.io.OutStream` integrates with async I/O
 * linked list nodes in the std lib have default `null` values for
   `prev` and `next`.
 * Windows async I/O integration is enabled for reading/writing file
   handles.
 * Added `std.os.mode_t`. Integer sizes need to be audited.
 * Fixed #4403 which was causing compiler to crash.

This is working towards:

./zig test ../test/stage1/behavior.zig --test-evented-io

Which does not successfully build yet. I'd like to enable behavioral
tests and std lib tests with --test-evented-io in the test matrix in the
future, to prevent regressions.

```

## Parents

- [704cd977bdcdfa8cff4e70aaad93857d9b622fc7](https://git.cafe/gitcafe/zig/commit/704cd977bdcdfa8cff4e70aaad93857d9b622fc7?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/0b5bcd2f56a84e66d5c700744ec1838381893667?format=markdown)
