ck_pr_stall man page on DragonFly
[printable version]
ck_pr_stall(3) BSD Library Functions Manual ck_pr_stall(3)
NAME
ck_pr_stall — busy-wait primitive
LIBRARY
Concurrency Kit (libck, -lck)
SYNOPSIS
#include <ck_pr.h>
void
ck_pr_stall(void);
DESCRIPTION
The ck_pr_stall(3) function should be used inside retry paths of busy-
wait loops. It not only serves as a compiler barrier, but on some archi‐
tectures it emits cycle-saving instructions.
EXAMPLE
#include <ck_pr.h>
static int ready = 0;
void
function(void)
{
/* Busy-wait until ready is non-zero. */
while (ck_pr_load_int(&ready) == 0)
ck_pr_stall();
return;
}
SEE ALSO
ck_pr_fence_load(3), ck_pr_fence_load_depends(3), ck_pr_fence_store(3),
ck_pr_fence_memory(3), ck_pr_barrier(3), ck_pr_fas(3), ck_pr_load(3),
ck_pr_store(3), ck_pr_faa(3), ck_pr_inc(3), ck_pr_dec(3), ck_pr_neg(3),
ck_pr_not(3), ck_pr_add(3), ck_pr_sub(3), ck_pr_and(3), ck_pr_or(3),
ck_pr_xor(3), ck_pr_cas(3), ck_pr_btc(3), ck_pr_bts(3), ck_pr_btr(3)
Additional information available at http://concurrencykit.org/
April 7, 2013
[top]
List of man pages available for DragonFly
Copyright (c) for man pages and the logo by the respective OS vendor.
For those who want to learn more, the polarhome community provides shell access and support.
[legal]
[privacy]
[GNU]
[policy]
[cookies]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
|
Vote for polarhome
|