CMGDK r49-rc2
组合类型 | 宏定义
K:/CMGDKv18/SDK/Source/SQL/MySQL/include/atomic/rwlock.h文件参考

浏览该文件的源代码。

组合类型

struct  my_atomic_rwlock_t

宏定义

#define MY_ATOMIC_MODE_RWLOCKS   1
#define my_atomic_rwlock_destroy(name)   pthread_mutex_destroy(& (name)->rw)
#define my_atomic_rwlock_init(name)   pthread_mutex_init(& (name)->rw, 0)
#define my_atomic_rwlock_rdlock(name)   pthread_mutex_lock(& (name)->rw)
#define my_atomic_rwlock_wrlock(name)   pthread_mutex_lock(& (name)->rw)
#define my_atomic_rwlock_rdunlock(name)   pthread_mutex_unlock(& (name)->rw)
#define my_atomic_rwlock_wrunlock(name)   pthread_mutex_unlock(& (name)->rw)
#define MY_ATOMIC_MODE   "mutex"
#define make_atomic_add_body(S)   int ## S sav; sav= *a; *a+= v; v=sav;
#define make_atomic_fas_body(S)   int ## S sav; sav= *a; *a= v; v=sav;
#define make_atomic_cas_body(S)   if ((ret= (*a == *cmp))) *a= set; else *cmp=*a;
#define make_atomic_load_body(S)   ret= *a;
#define make_atomic_store_body(S)   *a= v;

宏定义文档

#define make_atomic_add_body (   S)    int ## S sav; sav= *a; *a+= v; v=sav;
#define make_atomic_cas_body (   S)    if ((ret= (*a == *cmp))) *a= set; else *cmp=*a;
#define make_atomic_fas_body (   S)    int ## S sav; sav= *a; *a= v; v=sav;
#define make_atomic_load_body (   S)    ret= *a;
#define make_atomic_store_body (   S)    *a= v;
#define MY_ATOMIC_MODE   "mutex"
#define MY_ATOMIC_MODE_RWLOCKS   1
#define my_atomic_rwlock_destroy (   name)    pthread_mutex_destroy(& (name)->rw)
#define my_atomic_rwlock_init (   name)    pthread_mutex_init(& (name)->rw, 0)
#define my_atomic_rwlock_rdlock (   name)    pthread_mutex_lock(& (name)->rw)
#define my_atomic_rwlock_rdunlock (   name)    pthread_mutex_unlock(& (name)->rw)
#define my_atomic_rwlock_wrlock (   name)    pthread_mutex_lock(& (name)->rw)
#define my_atomic_rwlock_wrunlock (   name)    pthread_mutex_unlock(& (name)->rw)
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义