# std.os.linux: export kernel-sized sigset_t and operations · gitcafe/zig

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

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

Visibility: public

Requested revision: 298b1886b2b35b168589026d075d14206d6e3430

Requested commit: 298b1886b2b35b168589026d075d14206d6e3430

Commit: 298b1886b2b35b168589026d075d14206d6e3430

Tree: 20316f3fc1a112b577dbc5ab825baffa574db2c0

Author: Pat Tullmann

Committer: Pat Tullmann

## Message

```
std.os.linux: export kernel-sized sigset_t and operations

The kernel ABI sigset_t is smaller than the glibc one.  Define the
right-sized sigset_t and fixup the sigaction() wrapper to leverage it.
The Sigaction wrapper here is not an ABI, so relax it (drop the "extern"
and the "restorer" fields), the existing `k_sigaction` is the ABI
sigaction struct.

Linux defines `sigset_t` with a c_ulong, so it can be 32-bit or 64-bit,
depending on the platform.  This can make a difference on big-endian
systems.

Patch up `ucontext_t` so that this change doesn't impact its layout.
AFAICT, its currently the glibc layout.

```

## Parents

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

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