Haiku Kernel Condition Variables: Experimental Wait and Notify Semantics
Understand Haiku kernel condition-variable entries, published waits, mutex handoff, notification results, timeout flags, and private API stability limits.
tag
10 posts
Understand Haiku kernel condition-variable entries, published waits, mutex handoff, notification results, timeout flags, and private API stability limits.
Use Haiku kernel semaphores for bounded synchronization with correct counts, timeout handling, waiter shutdown, and explicit lifetime coordination.
Use Haiku BLocker and BAutolock with correct recursion, timeout, and object-lifetime rules to prevent deadlocks in multithreaded applications.
Coordinate Haiku media nodes with BTimeSource performance time, real-time conversion, start latency, time warps, and measurable drift behavior.
Understand Linux futex wait and wake contracts, private versus shared keys, spurious returns, memory ordering, and safe synchronization tests.
Build a recoverable CloudKit cache with separate database and zone tokens, atomic local application, deletion tombstones, and bounded change fetching.
Synchronize small app preferences with NSUbiquitousKeyValueStore using change notifications, account-aware reconciliation, and bounded property-list values.
Pair SRW locks with Windows condition variables for reader-writer access and blocking queues, while accounting for wake races, non-recursion, and shutdown.
Use Win32 synchronization barriers for phased parallel work, with a fixed participant count, safe leader work, and explicit handling for cancellation and stalls.
Register a Windows thread-pool wait on one event, re-arm it deliberately, and cancel queued callbacks before closing handles or freeing callback state.