diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 14:02:27 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 14:02:27 -0400 |
| commit | 6d8bdc65446a704d0750217efd05532fc641ea7d (patch) | |
| tree | 8ae6d698b3c9801750a8b117b3842fb369872a3a /static/openbsd/man9/atomic_cas_uint.9 | |
| parent | 2f467bd7ff8f8db0dafa40426166491d7f57f368 (diff) | |
docs: OpenBSD Man Pages Added
Diffstat (limited to 'static/openbsd/man9/atomic_cas_uint.9')
| -rw-r--r-- | static/openbsd/man9/atomic_cas_uint.9 | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/static/openbsd/man9/atomic_cas_uint.9 b/static/openbsd/man9/atomic_cas_uint.9 new file mode 100644 index 00000000..ab691ac3 --- /dev/null +++ b/static/openbsd/man9/atomic_cas_uint.9 @@ -0,0 +1,76 @@ +.\" $OpenBSD: atomic_cas_uint.9,v 1.7 2019/02/06 01:35:07 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 6 2019 $ +.Dt ATOMIC_CAS_UINT 9 +.Os +.Sh NAME +.Nm atomic_cas_uint , +.Nm atomic_cas_ulong , +.Nm atomic_cas_ptr +.Nd atomic compare-and-swap operations +.Sh SYNOPSIS +.In sys/atomic.h +.Ft unsigned int +.Fo atomic_cas_uint +.Fa "volatile unsigned int *p" +.Fa "unsigned int expected" +.Fa "unsigned int new" +.Fc +.Ft unsigned long +.Fo atomic_cas_ulong +.Fa "volatile unsigned long *p" +.Fa "unsigned long expected" +.Fa "unsigned long new" +.Fc +.Ft void * +.Fo atomic_cas_ptr +.Fa "volatile void *p" +.Fa "void *expected" +.Fa "void *new" +.Fc +.Sh DESCRIPTION +The atomic_cas set of functions provide an interface for atomically +performing compare-and-swap operations with respect to interrupts +and multiple processors in the system. +.Pp +The value referenced by the pointer +.Fa p +is compared against +.Fa expected . +If these values are equal then +.Fa new +replaces the value stored at +.Fa p . +.Sh CONTEXT +.Fn atomic_cas_uint , +.Fn atomic_cas_ulong , +and +.Fn atomic_cas_ptr +can all be called during autoconf, from process context, or from +interrupt context. +.Sh RETURN VALUES +These functions return the value at +.Fa p +as it was before the attempt to swap it. +.Sh SEE ALSO +.Xr atomic_swap_uint 9 +.Sh HISTORY +The atomic_cas functions first appeared in +.Nx 5.0 +and +.Ox 5.5 . |
