Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
PTHREAD_SPIN_LOCK(3)	     Library Functions Manual	    PTHREAD_SPIN_LOCK(3)

NAME
     pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock -- lock or un-
     lock a spin lock

LIBRARY
     POSIX Threads Library (libpthread, -lpthread)

SYNOPSIS
     #include <pthread.h>

     int
     pthread_spin_lock(pthread_spinlock_t *lock);

     int
     pthread_spin_trylock(pthread_spinlock_t *lock);

     int
     pthread_spin_unlock(pthread_spinlock_t *lock);

DESCRIPTION
     The  pthread_spin_lock()  function will acquire lock if it is not currently
     owned by another thread.  If the lock cannot be  acquired	immediately,  it
     will  spin  attempting to acquire the lock (it will not sleep) until it be-
     comes available.

     The pthread_spin_trylock() function is the same as pthread_spin_lock()  ex-
     cept  that if it cannot acquire lock immediately it will return with an er-
     ror.

     The pthread_spin_unlock() function will release lock, which must have  been
     previously  locked  by  a	call to pthread_spin_lock() or pthread_spin_try-
     lock().

RETURN VALUES
     If successful, all these functions will return zero.  Otherwise,  an  error
     number will be returned to indicate the error.

     None of these functions will return EINTR.

ERRORS
     The  pthread_spin_lock(),	pthread_spin_trylock() and pthread_spin_unlock()
     functions will fail if:

     [EINVAL]		The value specified by lock is invalid or  is  not  ini-
			tialized.

     The pthread_spin_lock() function may fail if:

     [EDEADLK]		The calling thread already owns the lock.

     The pthread_spin_trylock() function will fail if:

     [EBUSY]		Another thread currently holds lock.

     The pthread_spin_unlock() function may fail if:

     [EPERM]		The calling thread does not own lock.

SEE ALSO
     pthread_spin_destroy(3), pthread_spin_init(3)

HISTORY
     The  pthread_spin_lock(),	pthread_spin_trylock() and pthread_spin_unlock()
     functions first appeared  in  N:M	Threading  Library  (libkse,  -lkse)  in
     FreeBSD 5.2, and in 1:1 Threading Library (libthr, -lthr) in FreeBSD 5.3.

BUGS
     The   implementation  of  pthread_spin_lock(),  pthread_spin_trylock()  and
     pthread_spin_unlock()  is	expected  to  conform	to   IEEE   Std   1003.2
     ("POSIX.2").

FreeBSD 15.1			January 22, 2004	    PTHREAD_SPIN_LOCK(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pthread_spin_lock&sektion=3&manpath=FreeBSD+15.1-RELEASE+and+Ports>

home | help