Standard C Library Functions pthreadspindestroy(3C)
NAME
pthreadspindestroy, pthreadspininit - destroy or ini-
tialize a spin lock object
SYNOPSIS
cc -mt [ flag... ] file... [ library... ]
#include
int pthreadspindestroy(pthreadspinlockt *lock);
int pthreadspininit(pthreadspinlockt *lock, int pshared);
DESCRIPTION
The pthreadspindestroy() function destroys the spin lock
referenced by lock and release any resources used by the
lock. The effect of subsequent use of the lock is undefined
until the lock is reinitialized by another call to
pthreadspininit(). The results are undefined if
pthreadspindestroy() is called when a thread holds the
lock, or if this function is called with an uninitialized
thread spin lock.
The pthreadspininit() function allocates any resources
required to use the spin lock referenced by lock and ini-
tialize the lock to an unlocked state.
If the Thread Process-Shared Synchronization option is sup-
ported and the value of pshared is PTHREADPROCESHARED,
the spin lock can be operated upon by any thread that has
access to the memory where the spin lock is allocated, even
if it is allocated in memory that is shared by multiple
processes.
If the Thread Process-Shared Synchronization option is sup-
ported and the value of pshared is PTHREADPROCESPRIVATE,
or if the option is not supported, the spin lock can only be
operated upon by threads created within the same process as
the thread that initialized the spin lock. If threads of
differing processes attempt to operate on such a spin lock,
the behavior is undefined.
The results are undefined if pthreadspininit() is called
specifying an already initialized spin lock. The results are
undefined if a spin lock is used without first being ini-
tialized.
SunOS 5.11 Last change: 30 Jan 2004 1
Standard C Library Functions pthreadspindestroy(3C)
If the pthreadspininit() function fails, the lock is not
initialized and the contents of lock are undefined.
Only the object referenced by lock can be used for perform-
ing synchronization.
The result of referring to copies of that object in calls to
pthreadspindestroy(), pthreadspinlock(3C),
pthreadspintrylock(3C), or pthreadspinunlock(3C) is
undefined.
RETURN VALUES
Upon successful completion, these functions returns 0. Oth-
erwise, an error number is returned to indicate the error.
ERORS
The pthreadspininit() function will fail if:
EAGAIN The system lacks the necessary resources to ini-
tialize another spin lock.
These functions may fail if:
EBUSY The system has detected an attempt to initialize
or destroy a spin lock while it is in use (for
example, while being used in a pthreadspinlock()
call) by another thread.
EINVAL The value specified by lock is invalid.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
SunOS 5.11 Last change: 30 Jan 2004 2
Standard C Library Functions pthreadspindestroy(3C)
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Standard
MT-Level MT-Safe
SEE ALSO
pthreadspinlock(3C), pthreadspinunlock(3C), attri-
butes(5), standards(5)
SunOS 5.11 Last change: 30 Jan 2004 3
|