zig/lib/std/Thread
Pat Tullmann cfe5defd02 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).
2025-06-17 22:06:39 -07:00
..
Mutex std.Thread.Mutex.Recursive: alternate implementation 2024-06-12 18:07:39 -07:00
Condition.zig x86_64: implement switch jump tables 2025-01-16 20:42:08 -05:00
Futex.zig linux: futex v1 API cleanup 2025-06-17 22:06:39 -07:00
Mutex.zig x86_64: implement switch jump tables 2025-01-16 20:42:08 -05:00
Pool.zig de-genericify SinglyLinkedList 2025-04-03 14:55:04 -07:00
ResetEvent.zig remove @fence (#21585) 2024-10-04 22:21:27 +00:00
RwLock.zig Clarify the blocking behavior of RwLock.lockShared(). (#19752) 2024-04-24 10:41:13 -05:00
Semaphore.zig Change many test blocks to doctests/decltests 2024-02-26 15:18:31 -08:00
WaitGroup.zig combine codegen work queue and linker task queue 2024-10-23 16:27:39 -07:00