Atomic Operations


関数

apr_status_t apr_atomic_init (apr_pool_t *p)
apr_uint32_t apr_atomic_read32 (volatile apr_uint32_t *mem)
void apr_atomic_set32 (volatile apr_uint32_t *mem, apr_uint32_t val)
apr_uint32_t apr_atomic_add32 (volatile apr_uint32_t *mem, apr_uint32_t val)
void apr_atomic_sub32 (volatile apr_uint32_t *mem, apr_uint32_t val)
apr_uint32_t apr_atomic_inc32 (volatile apr_uint32_t *mem)
int apr_atomic_dec32 (volatile apr_uint32_t *mem)
apr_uint32_t apr_atomic_cas32 (volatile apr_uint32_t *mem, apr_uint32_t with, apr_uint32_t cmp)
apr_uint32_t apr_atomic_xchg32 (volatile apr_uint32_t *mem, apr_uint32_t val)
void * apr_atomic_casptr (volatile void **mem, void *with, const void *cmp)

関数

apr_uint32_t apr_atomic_add32 ( volatile apr_uint32_t *  mem,
apr_uint32_t  val 
)

atomically add 'val' to an apr_uint32_t

引数:
mem pointer to the object
val amount to add
戻り値:
old value pointed to by mem

apr_uint32_t apr_atomic_cas32 ( volatile apr_uint32_t *  mem,
apr_uint32_t  with,
apr_uint32_t  cmp 
)

compare an apr_uint32_t's value with 'cmp'. If they are the same swap the value with 'with'

引数:
mem pointer to the value
with what to swap it with
cmp the value to compare it to
戻り値:
the old value of *mem

void* apr_atomic_casptr ( volatile void **  mem,
void *  with,
const void *  cmp 
)

compare the pointer's value with cmp. If they are the same swap the value with 'with'

引数:
mem pointer to the pointer
with what to swap it with
cmp the value to compare it to
戻り値:
the old value of the pointer

int apr_atomic_dec32 ( volatile apr_uint32_t *  mem  ) 

atomically decrement an apr_uint32_t by 1

引数:
mem pointer to the atomic value
戻り値:
zero if the value becomes zero on decrement, otherwise non-zero

apr_uint32_t apr_atomic_inc32 ( volatile apr_uint32_t *  mem  ) 

atomically increment an apr_uint32_t by 1

引数:
mem pointer to the object
戻り値:
old value pointed to by mem

apr_status_t apr_atomic_init ( apr_pool_t p  ) 

this function is required on some platforms to initialize the atomic operation's internal structures

引数:
p pool
戻り値:
APR_SUCCESS on successful completion

apr_uint32_t apr_atomic_read32 ( volatile apr_uint32_t *  mem  ) 

atomically read an apr_uint32_t from memory

引数:
mem the pointer

void apr_atomic_set32 ( volatile apr_uint32_t *  mem,
apr_uint32_t  val 
)

atomically set an apr_uint32_t in memory

引数:
mem pointer to the object
val value that the object will assume

void apr_atomic_sub32 ( volatile apr_uint32_t *  mem,
apr_uint32_t  val 
)

atomically subtract 'val' from an apr_uint32_t

引数:
mem pointer to the object
val amount to subtract

apr_uint32_t apr_atomic_xchg32 ( volatile apr_uint32_t *  mem,
apr_uint32_t  val 
)

exchange an apr_uint32_t's value with 'val'.

引数:
mem pointer to the value
val what to swap it with
戻り値:
the old value of *mem


Apacheに対してSun Jul 19 22:05:30 2009に生成されました。  doxygen 1.4.7