Groonga 3.0.9 Source Code Document
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Macros | Typedefs | Functions
ngx_atomic.h File Reference
#include <ngx_config.h>
#include <ngx_core.h>
Include dependency graph for ngx_atomic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define NGX_HAVE_ATOMIC_OPS   0
#define NGX_ATOMIC_T_LEN   (sizeof("-2147483648") - 1)
#define ngx_memory_barrier()
#define ngx_cpu_pause()
#define ngx_trylock(lock)   (*(lock) == 0 && ngx_atomic_cmp_set(lock, 0, 1))
#define ngx_unlock(lock)   *(lock) = 0

Typedefs

typedef int32_t ngx_atomic_int_t
typedef uint32_t ngx_atomic_uint_t
typedef volatile ngx_atomic_uint_t ngx_atomic_t

Functions

void ngx_spinlock (ngx_atomic_t *lock, ngx_atomic_int_t value, ngx_uint_t spin)

Macro Definition Documentation

#define NGX_ATOMIC_T_LEN   (sizeof("-2147483648") - 1)

Definition at line 274 of file ngx_atomic.h.

#define ngx_cpu_pause ( )

Definition at line 302 of file ngx_atomic.h.

#define NGX_HAVE_ATOMIC_OPS   0

Definition at line 269 of file ngx_atomic.h.

#define ngx_memory_barrier ( )

Definition at line 301 of file ngx_atomic.h.

#define ngx_trylock (   lock)    (*(lock) == 0 && ngx_atomic_cmp_set(lock, 0, 1))

Definition at line 309 of file ngx_atomic.h.

#define ngx_unlock (   lock)    *(lock) = 0

Definition at line 310 of file ngx_atomic.h.

Typedef Documentation

typedef int32_t ngx_atomic_int_t

Definition at line 271 of file ngx_atomic.h.

typedef volatile ngx_atomic_uint_t ngx_atomic_t

Definition at line 273 of file ngx_atomic.h.

typedef uint32_t ngx_atomic_uint_t

Definition at line 272 of file ngx_atomic.h.

Function Documentation

void ngx_spinlock ( ngx_atomic_t lock,
ngx_atomic_int_t  value,
ngx_uint_t  spin 
)

Definition at line 13 of file ngx_spinlock.c.