7ce1fc7443
Not upstreamed because I think NetBSD should be given the chance to implement some better interprocess synchronization primitives first. See PR lib/49529. In particular what's missing is an interprocess sync primitive that can: 1) be passed safely through MAP_SHARED memory 2) support atomic unlock-and-block (like pthread_cond_wait) 3) wake up all waiters at once
14 lines
432 B
Text
14 lines
432 B
Text
This library offers a CPU-based synchronization primitive compatible
|
|
with the X SyncFence objects that can be shared between processes
|
|
using file descriptor passing.
|
|
|
|
There are four underlying implementations:
|
|
|
|
1) On Linux, the library uses futexes
|
|
|
|
2) On FreeBSD, the library uses umtx
|
|
|
|
3) On NetBSD, the library uses POSIX semaphores (for now)
|
|
|
|
4) On other systems, the library uses posix mutexes and condition
|
|
variables.
|