ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
atomic_ptr_t Struct Reference

Atomic pointer wrapper. More...

#include <include/ascii-chat/atomic.h>

Public Member Functions

 _Atomic (void *) impl
 Underlying C11 atomic pointer.
 

Data Fields

uint64_t last_store_time_ns
 
uint64_t last_load_time_ns
 
uint64_t store_count
 
uint64_t load_count
 
uint64_t cas_count
 
uint64_t cas_success_count
 
uint64_t exchange_count
 

Detailed Description

Atomic pointer wrapper.

Wraps C11 _Atomic(void *) with debug tracking fields. The name is registered separately via NAMED_REGISTER_ATOMIC_PTR, stored in named.c registry (not in this struct).

Usage:

_Atomic(void *) g_ptr = {0};
NAMED_REGISTER_ATOMIC_PTR(&g_ptr, "g_ptr");
atomic_ptr_store(&g_ptr, some_pointer);
void atomic_ptr_store(atomic_ptr_t *a, void *value)
Atomically store a pointer.
Definition atomic.c:280
#define NAMED_REGISTER_ATOMIC_PTR(a, name, parent_ptr)
Register an _Atomic(void *) with automatic format specifier.
_Atomic(void *) impl
Underlying C11 atomic pointer.

Definition at line 106 of file atomic.h.

Member Function Documentation

◆ _Atomic()

atomic_ptr_t::_Atomic ( void *  )

Underlying C11 atomic pointer.

Field Documentation

◆ cas_count

uint64_t atomic_ptr_t::cas_count

Definition at line 113 of file atomic.h.

Referenced by atomic_ptr_on_cas(), and debug_atomic_ptr_format_timing().

◆ cas_success_count

uint64_t atomic_ptr_t::cas_success_count

Definition at line 114 of file atomic.h.

Referenced by atomic_ptr_on_cas(), and debug_atomic_ptr_format_timing().

◆ exchange_count

uint64_t atomic_ptr_t::exchange_count

Definition at line 115 of file atomic.h.

Referenced by atomic_ptr_on_exchange(), and debug_atomic_ptr_format_timing().

◆ last_load_time_ns

uint64_t atomic_ptr_t::last_load_time_ns

Definition at line 110 of file atomic.h.

Referenced by atomic_ptr_on_load(), and debug_atomic_ptr_format_timing().

◆ last_store_time_ns

uint64_t atomic_ptr_t::last_store_time_ns

◆ load_count

uint64_t atomic_ptr_t::load_count

Definition at line 112 of file atomic.h.

Referenced by atomic_ptr_on_load(), and debug_atomic_ptr_format_timing().

◆ store_count

uint64_t atomic_ptr_t::store_count

Definition at line 111 of file atomic.h.

Referenced by atomic_ptr_on_store(), and debug_atomic_ptr_format_timing().


The documentation for this struct was generated from the following file: