Standard C Library Functions atomicadd(3C)
NAME
atomicadd, atomicadd8, atomicaddchar, atomicadd16,
atomicaddshort, atomicadd32, atomicaddint,
atomicaddlong, atomicadd64, atomicaddptr,
atomicadd8nv, atomicaddcharnv, atomicadd16nv,
atomicaddshortnv, atomicadd32nv, atomicaddintnv,
atomicaddlongnv, atomicadd64nv, atomicaddptrnv -
atomic add operations
SYNOPSIS
#include
void atomicadd8(volatile uint8t *target, int8t delta);
void atomicaddchar(volatile uchart *target, signed char delta);
void atomicadd16(volatile uint16t *target, int16t delta);
void atomicaddshort(volatile ushortt *target, short delta);
void atomicadd32(volatile uint32t *target, int32t delta);
void atomicaddint(volatile uintt *target, int delta);
void atomicaddlong(volatile ulongt *target, long delta);
void atomicadd64(volatile uint64t *target, int64t delta);
void atomicaddptr(volatile void *target, ssizet delta);
uint8t atomicadd8nv(volatile uint8t *target, int8t delta);
uchart atomicaddcharnv(volatile uchart *target, signed char delta);
uint16t atomicadd16nv(volatile uint16t *target, int16t delta);
ushortt atomicaddshortnv(volatile ushortt *target, shortdelta);
SunOS 5.11 Last change: 13 May 2005 1
Standard C Library Functions atomicadd(3C)
uint32t atomicadd32nv(volatile uint32t *target, int32t delta);
uintt atomicaddintnv(volatile uintt *target, int delta);
ulongt atomicaddlongnv(volatile ulongt *target, long delta);
uint64t atomicadd64nv(volatile uint64t *target, int64t delta);
void *atomicaddptrnv(volatile void *target, ssizet delta);
DESCRIPTION
These functions enable the addition of delta to the value
stored in target to occur in an atomic manner.
RETURN VALUES
The *nv() variants of these functions return the new value
of target.
ERORS
No errors are defined.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Stable
MT-Level MT-Safe
SEE ALSO
atomicand(3C), atomicbits(3C), atomiccas(3C),
atomicdec(3C), atomicinc(3C), atomicor(3C),
atomicswap(3C), membarops(3C), attributes(5),
atomicops(9F)
NOTES
The *nv() variants are substantially more expensive on some
platforms than the versions that do not return values. Do
not use them unless you need to know the new value atomi-
cally (for example, when decrementing a reference count and
SunOS 5.11 Last change: 13 May 2005 2
Standard C Library Functions atomicadd(3C)
checking whether it went to zero).
SunOS 5.11 Last change: 13 May 2005 3
|