diff options
Diffstat (limited to 'static/openbsd/man9/atomic_add_int.9')
| -rw-r--r-- | static/openbsd/man9/atomic_add_int.9 | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/static/openbsd/man9/atomic_add_int.9 b/static/openbsd/man9/atomic_add_int.9 new file mode 100644 index 00000000..3ca701a4 --- /dev/null +++ b/static/openbsd/man9/atomic_add_int.9 @@ -0,0 +1,73 @@ +.\" $OpenBSD: atomic_add_int.9,v 1.6 2014/02/13 12:05:05 dlg Exp $ +.\" +.\" Copyright (c) 2014 David Gwynne <dlg@openbsd.org> +.\" All rights reserved. +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd $Mdocdate: February 13 2014 $ +.Dt ATOMIC_ADD_INT 9 +.Os +.Sh NAME +.Nm atomic_add_int , +.Nm atomic_add_int_nv , +.Nm atomic_add_long , +.Nm atomic_add_long_nv +.Nd atomic addition operations +.Sh SYNOPSIS +.In sys/atomic.h +.Ft void +.Fn atomic_add_int "volatile unsigned int *p" "unsigned int v" +.Ft unsigned int +.Fn atomic_add_int_nv "volatile unsigned int *p" "unsigned int v" +.Ft void +.Fn atomic_add_long "volatile unsigned long *p" "unsigned long v" +.Ft unsigned long +.Fn atomic_add_long_nv "volatile unsigned long *p" "unsigned long v" +.Sh DESCRIPTION +The atomic_add set of functions provide an interface for atomically +performing add and add-and-fetch operations with respect to interrupts +and multiple processors in the system. +.Pp +The value referenced by the pointer +.Fa p +is incremented by the value +.Fa v . +.Sh CONTEXT +.Fn atomic_add_int , +.Fn atomic_add_int_nv , +.Fn atomic_add_long , +and +.Fn atomic_add_long_nv +can all be called during autoconf, from process context, or from interrupt context. +.Sh RETURN VALUES +.Nm atomic_add_int +and +.Nm atomic_add_long +perform the addition without returning any knowledge of the value at +.Fa p . +.Pp +.Nm atomic_add_int_nv +and +.Nm atomic_add_long_nv +return the value at +.Fa p +after the addition was performed. +.Sh SEE ALSO +.Xr atomic_inc_int 9 , +.Xr atomic_sub_int 9 +.Sh HISTORY +The atomic_add functions first appeared in +.Nx 5.0 +and +.Ox 5.5 . |
