# std.Io.Threaded: don't solve the cancel race after all · gitcafe/zig

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

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

Visibility: public

Requested revision: de87bad4c3240ab34ee81023e6df1ba94d6d5e6a

Requested commit: de87bad4c3240ab34ee81023e6df1ba94d6d5e6a

Commit: de87bad4c3240ab34ee81023e6df1ba94d6d5e6a

Tree: d943199e158ee6c713a8da2d8caa692bc137a94d

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
std.Io.Threaded: don't solve the cancel race after all

Unfortunately, trying again until the cancellation request is
acknowledged has been observed to incur a large amount of overhead,
and usually strong cancellation guarantees are not needed, so the
race condition is not handled here. Users who want to avoid this
have this menu of options instead:
* Use no libc, in which case Zig std lib can avoid the race (tracking
  issue: https://codeberg.org/ziglang/zig/issues/30049)
* Use musl libc
* Use `std.Io.Evented`. But this is not implemented yet. Tracked by
  - https://codeberg.org/ziglang/zig/issues/30050
  - https://codeberg.org/ziglang/zig/issues/30051

glibc + threaded is the only problematic combination.

```

## Parents

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

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