diff options
| author | Pat Tullmann <pat.github@tullmann.org> | 2025-04-02 16:14:50 -0700 |
|---|---|---|
| committer | Pat Tullmann <pat.github@tullmann.org> | 2025-06-17 22:06:39 -0700 |
| commit | cfe5defd025b79ade5f9243a7d6ebaad176cb6ad (patch) | |
| tree | 7f85cd11d09dac313910d64610a8ceae649360bc /src/codegen.zig | |
| parent | 850655f06b7dd8dc6e637d4980e6b7f9ac1b43d9 (diff) | |
| download | zig-cfe5defd025b79ade5f9243a7d6ebaad176cb6ad.tar.gz zig-cfe5defd025b79ade5f9243a7d6ebaad176cb6ad.zip | |
linux: futex v1 API cleanup
* Use `packed struct` for flags arguments. So, instead of
`linux.FUTEX.WAIT` use `.{ .cmd = .WAIT, .private = true }`
* rename `futex_wait` and `futex_wake` which didn't actually specify
wait/wake, as `futex_3arg` and `futex_4arg` (as its the number
of parameters that is different, the `op` is whatever is specified.
* expose the full six-arg flavor of the syscall (for some of the advanced
ops), and add packed structs for their arguments.
* Use a `packed union` to support the 4th parameter which is sometimes a
`timespec` pointer, and sometimes a `u32`.
* Add tests that make sure the structure layout is correct and that the
basic argument passing is working (no actual futexes are contended).
Diffstat (limited to 'src/codegen.zig')
0 files changed, 0 insertions, 0 deletions
