seqlock
extern bool try_acquire_write_seqlock(seqlock* lock);
extern void acquire_write_seqlock(seqlock* lock);
extern void release_write_seqlock(seqlock* lock);
extern uint32 acquire_read_seqlock(seqlock* lock);
extern bool release_read_seqlock(seqlock* lock, uint32 count);
#define B_INITIALIZE_SEQLOCK(seqlock) do { \
B_INITIALIZE_SPINLOCK(&(seqlock)->lock); \
(seqlock)->count = 0; \
seqlock active_time_lock;
try_acquire_write_seqlock_inline(seqlock* lock)
acquire_write_seqlock_inline(seqlock* lock)
release_write_seqlock_inline(seqlock* lock)
acquire_read_seqlock_inline(seqlock* lock)
release_read_seqlock_inline(seqlock* lock, uint32 count)
inline bool Lock(seqlock* lockable)
inline void Unlock(seqlock* lockable)
inline bool Lock(seqlock* lockable)
inline void Unlock(seqlock* lockable)
static seqlock sUserTimerLock = B_SEQLOCK_INITIALIZER;
mutable seqlock fActiveTimeLock;
try_acquire_write_seqlock(seqlock* lock)
acquire_write_seqlock(seqlock* lock)
release_write_seqlock(seqlock* lock)
acquire_read_seqlock(seqlock* lock)
release_read_seqlock(seqlock* lock, uint32 count)