GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PTHREAD_SPIN_INIT (3)

NAME

pthread_spin_init, pthread_spin_destroy - initialize or destroy a spin lock

CONTENTS

Library
Synopsis
Description
Return Values
Errors
See Also
History
Bugs

LIBRARY


.Lb libpthread

SYNOPSIS


.In pthread.h int pthread_spin_init pthread_spinlock_t *lock int pshared int pthread_spin_destroy pthread_spinlock_t *lock

DESCRIPTION

The pthread_spin_init function will initialize lock to an unlocked state and allocate any resources necessary to begin using it. If pshared is set to PTHREAD_PROCESS_SHARED, any thread, whether belonging to the process in which the spinlock was created or not, that has access to the memory area where lock resides, can use lock. If it is set to PTHREAD_PROCESS_PRIVATE, it can only be used by threads within the same process.

The pthread_spin_destroy function will destroy lock and release any resources that may have been allocated on its behalf.

RETURN VALUES

If successful, both pthread_spin_init and pthread_spin_destroy will return zero. Otherwise, an error number will be returned to indicate the error.

Neither of these functions will return EINTR.

ERRORS

The pthread_spin_init and pthread_spin_destroy functions will fail if:
[EBUSY]
  An attempt to initialize or destroy lock while it is in use.
[EINVAL]
  The value specified by lock is invalid.

The pthread_spin_init function will fail if:
[EAGAIN]
  Insufficient resources, other than memory, to initialize lock.
[ENOMEM]
  Insufficient memory to initialize lock.

SEE ALSO

pthread_spin_lock(3), pthread_spin_unlock(3)

HISTORY

The pthread_spin_init and pthread_spin_destroy functions first appeared in
.Lb libkse in
.Fx 5.2 , and in
.Lb libthr in
.Fx 5.3 .

BUGS

The implementation of pthread_spin_init does not fully conform to -p1003.2 because the pshared argument is ignored in
.Lb libthr , and in
.Lb libkse if any value other than PTHREAD_PROCESSES_PRIVATE is specified, it returns EINVAL.
Search for    or go to Top of page |  Section 3 |  Main Index


Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.