| Skip Navigation Links | |
| Exit Print View | |
![]() | man pages section 3: Basic Library Functions Oracle Solaris 11 Information Library |
enable_extended_FILE_stdio(3C)
posix_spawnattr_getschedparam(3C)
posix_spawnattr_getschedpolicy(3C)
posix_spawnattr_getsigdefault(3C)
posix_spawnattr_getsigignore_np(3C)
posix_spawnattr_getsigmask(3C)
posix_spawnattr_setschedparam(3C)
posix_spawnattr_setschedpolicy(3C)
posix_spawnattr_setsigdefault(3C)
posix_spawnattr_setsigignore_np(3C)
posix_spawnattr_setsigmask(3C)
posix_spawn_file_actions_addclose(3C)
posix_spawn_file_actions_addclosefrom_np(3C)
posix_spawn_file_actions_adddup2(3C)
posix_spawn_file_actions_addopen(3C)
posix_spawn_file_actions_destroy(3C)
posix_spawn_file_actions_init(3C)
pthread_attr_getdetachstate(3C)
pthread_attr_getinheritsched(3C)
pthread_attr_getschedparam(3C)
pthread_attr_getschedpolicy(3C)
pthread_attr_setdetachstate(3C)
pthread_attr_setinheritsched(3C)
pthread_attr_setschedparam(3C)
pthread_attr_setschedpolicy(3C)
pthread_barrierattr_destroy(3C)
pthread_barrierattr_getpshared(3C)
pthread_barrierattr_setpshared(3C)
pthread_condattr_getpshared(3C)
pthread_condattr_setpshared(3C)
pthread_cond_reltimedwait_np(3C)
pthread_key_create_once_np(3C)
pthread_mutexattr_getprioceiling(3C)
pthread_mutexattr_getprotocol(3C)
pthread_mutexattr_getpshared(3C)
pthread_mutexattr_getrobust(3C)
pthread_mutexattr_setprioceiling(3C)
pthread_mutexattr_setprotocol(3C)
pthread_mutexattr_setpshared(3C)
pthread_mutexattr_setrobust(3C)
pthread_mutex_getprioceiling(3C)
pthread_mutex_reltimedlock_np(3C)
pthread_mutex_setprioceiling(3C)
pthread_rwlockattr_destroy(3C)
pthread_rwlockattr_getpshared(3C)
pthread_rwlockattr_setpshared(3C)
pthread_rwlock_reltimedrdlock_np(3C)
pthread_rwlock_reltimedwrlock_np(3C)
pthread_rwlock_timedrdlock(3C)
pthread_rwlock_timedwrlock(3C)
rctlblk_get_enforced_value(3C)
- atomic add operations
#include <atomic.h>voidatomic_add_8(volatile uint8_t *target,int8_tdelta);
voidatomic_add_char(volatile uchar_t *target,signed chardelta);
voidatomic_add_16(volatile uint16_t *target,int16_tdelta);
voidatomic_add_short(volatile ushort_t *target,shortdelta);
voidatomic_add_32(volatile uint32_t *target,int32_tdelta);
voidatomic_add_int(volatile uint_t *target,intdelta);
voidatomic_add_long(volatile ulong_t *target,longdelta);
voidatomic_add_64(volatile uint64_t *target,int64_tdelta);
voidatomic_add_ptr(volatile void *target,ssize_tdelta);
uint8_tatomic_add_8_nv(volatile uint8_t *target,int8_tdelta);
uchar_tatomic_add_char_nv(volatile uchar_t *target,signed chardelta);
uint16_tatomic_add_16_nv(volatile uint16_t *target,int16_tdelta);
ushort_tatomic_add_short_nv(volatile ushort_t *target,shortdelta);
uint32_tatomic_add_32_nv(volatile uint32_t *target,int32_tdelta);
uint_tatomic_add_int_nv(volatile uint_t *target,intdelta);
ulong_tatomic_add_long_nv(volatile ulong_t *target,longdelta);
uint64_tatomic_add_64_nv(volatile uint64_t *target,int64_tdelta);
void *atomic_add_ptr_nv(volatile void *target,ssize_tdelta);
These functions enable the addition ofdelta to the value stored intarget to occur in an atomic manner.
The *_nv() variants of these functions return the new value oftarget.
No errors are defined.
Seeattributes(5) for descriptions of the following attributes:
|
atomic_and(3C),atomic_bits(3C),atomic_cas(3C),atomic_dec(3C),atomic_inc(3C),atomic_or(3C),atomic_swap(3C),membar_ops(3C),attributes(5),atomic_ops(9F)
The *_nv() variants are substantially more expensive on some platforms than theversions that do not return values. Do not use them unless youneed to know the new valueatomically (for example, when decrementing areference count and checking whether it went to zero).
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices | ![]() ![]() |