_barrier_spin_init(3synch)


_barrier_spin_init -- initialize a spinning barrier

Synopsis

   cc [options] -Kthread file
   

#include <synch.h>

int _barrier_spin_init(barrier_spin_t *barrier, int count, void *arg);

Description

_barrier_spin_init initializes the spinning barrier pointed to by barrier to synchronize count threads. Once initialized, the barrier can be used any number of times without being re-initialized, to synchronize execution of count threads.

Threads waiting at a spinning barrier will busy-wait, or ``spin'', until all count threads arrive at the barrier.

Parameters


barrier
pointer to barrier to be initialized

count
number of threads to use the barrier for synchronization

arg
NULL (reserved for future use)

barrier parameter

barrier points to the spinning barrier to be initialized.

count parameter

count is the number of threads that will be synchronized by the barrier. That is, any threads calling _barrier_spin will spin until count threads have reached the barrier.

arg parameter

arg should be set to NULL. It is not currently used, but is reserved for future use.

Return values

_barrier_spin_init returns zero for success and an error number for failure.

Errors

If the following condition is detected, _barrier_spin_init returns the corresponding value:

EINVAL
invalid argument specified

Warnings

A barrier should not be re-initialized while threads are spinning at the barrier.

References

Intro(3synch), _barrier_spin(3synch), _barrier_spin_destroy(3synch), barrier(3synch), barrier_destroy(3synch), barrier_init(3synch), barrier_wait(3synch)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004