# std.Io.Threaded: spurious unparks are possible · gitcafe/zig

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

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

Visibility: public

Requested revision: c518593e9793a2aed4e0173348aff2cbef58b717

Requested commit: c518593e9793a2aed4e0173348aff2cbef58b717

Commit: c518593e9793a2aed4e0173348aff2cbef58b717

Tree: 0c400f51aaccda7466b931a85bca4ed11936c18b

Author: Matthew Lugg

Committer: mlugg

## Message

```
std.Io.Threaded: spurious unparks are possible

Apparently the thread parking APIs on Windows and NetBSD aren't as good
as I thought---or, at least, the way they're *used* makes them not as
good. It's perfectly possible to use these APIs in a way where you don't
trigger spurious wakeups, but standard primitives (SRWLOCK on Windows,
pthread bits on NetBSD) are perfectly happy to leave pending unparks
sitting around, meaning in practice you have to assume spurious unparks
are possible. This brings me great sadness... but we soldier on!

```

## Parents

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

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