⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ngx_sunpro_atomic_sparc64.h

📁 nginx 反向代理0.7.1版本 用于实现反向代理
💻 H
字号:
/* * Copyright (C) Igor Sysoev */#if (NGX_PTR_SIZE == 4)#define NGX_CASA  ngx_casa#else#define NGX_CASA  ngx_casxa#endifngx_atomic_uint_tngx_casa(ngx_atomic_uint_t set, ngx_atomic_uint_t old, ngx_atomic_t *lock);ngx_atomic_uint_tngx_casxa(ngx_atomic_uint_t set, ngx_atomic_uint_t old, ngx_atomic_t *lock);/* the code in src/os/unix/ngx_sunpro_sparc64.il */static ngx_inline ngx_atomic_uint_tngx_atomic_cmp_set(ngx_atomic_t *lock, ngx_atomic_uint_t old,    ngx_atomic_uint_t set){    set = NGX_CASA(set, old, lock);    return (set == old);}static ngx_inline ngx_atomic_int_tngx_atomic_fetch_add(ngx_atomic_t *value, ngx_atomic_int_t add){    ngx_atomic_uint_t  old, res;    old = *value;    for ( ;; ) {        res = old + add;        res = NGX_CASA(res, old, value);        if (res == old) {            return res;        }        old = res;    }}#define ngx_memory_barrier()                                                  \        __asm (".volatile");                                                  \        __asm ("membar #LoadLoad | #LoadStore | #StoreStore | #StoreLoad");   \        __asm (".nonvolatile")#define ngx_cpu_pause()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -