# openbsd: fix thread name buffer size · gitcafe/zig

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

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

Visibility: public

Requested revision: 490a411fd4e00fee65bc014fa7b1af59042d269b

Requested commit: 490a411fd4e00fee65bc014fa7b1af59042d269b

Commit: 490a411fd4e00fee65bc014fa7b1af59042d269b

Tree: c825687c6b277e64ee844fa5944e8751abed5b56

Author: Michael Dusan

Committer: Andrew Kelley

## Message

```
openbsd: fix thread name buffer size

OpenBSD 7.3 changed its implementation of
pthread_get_name_np/pthread_set_name_np to wrap new libc functions
getthrname/setthrname and lowered the max buffer size from 32 to 24.

This is not a backwards-compatible change because if we were to put in
comptime version logic to use size 32 when target < 7.3 the binaries
would be undefined when running on >= 7.3. It also could simply be that
OpenBSD has a policy to not support older binaries running on newer
releases? Regardless, the safest course is to simply use the smallest
known buffer size.

As an aside, this bug manifested as a "hung" std.Thread test because 7.3
pthread API never checks for error result when wrapping getthrname/setthrname.
This is not a problem in std.Thread when we use the correct max buffer
size because ERANGE/EINVAL become unreachable.

```

## Parents

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

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