Skip to content

Instantly share code, notes, and snippets.

@Patrolin
Patrolin / barrier.h
Created December 17, 2025 15:59
barrier.h
#define atomic_load(address) __atomic_load_n(address, __ATOMIC_SEQ_CST)
#define atomic_store(address, value) __atomic_store_n(address, value, __ATOMIC_SEQ_CST)
#define atomic_fetch_add(address, value) __atomic_fetch_add(address, value, __ATOMIC_SEQ_CST)
extern void wait_on_address(u32* address, u32 while_value);
extern void wake_all_on_address(u32* address);
typedef struct {
u32 barrier;
u32 barrier_counter;