Warning: main(/www/www/htdocs/style/globals.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_spin_lock.html on line 1
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/globals.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_spin_lock.html on line 1
Warning: main(/www/www/htdocs/style/header.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_spin_lock.html on line 8
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/header.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_spin_lock.html on line 8
Lock a thread spinlock
#include <pthread.h>
int pthread_spin_lock( pthread_spinlock_t * spinner );
- spinner
- A pointer to the pthread_spinlock_t object that you
want to lock.
libc
Use the -l c option to
qcc
to link against this library.
This library is usually included automatically.
The pthread_spin_lock() function locks the thread spinlock
specified by spinner. If spinner isn't immediately
available, pthread_spin_lock() blocks until spinner
can be locked.
If a thread attempts to lock a spinlock that's already locked via
pthread_spin_lock() or
pthread_spin_trylock(),
the thread returns EDEADLK.
- EOK
- Success.
- EAGAIN
- Insufficient resources available to lock spinner.
- EDEADLK
- The calling thread already holds spinners lock.
- EINVAL
- Invalid pthread_spinlock_t object spinner.
POSIX 1003.1 THR SPI
Safety: | |
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
Yes |
Thread |
Yes |
You may not get the desired behavior from this function because the current
implementation is through mutexes. In the uncontested case, this gives the same
behavior as spinlocks. In the contested case, this function makes a kernel
call.
pthread_spin_destroy(),
pthread_spin_init(),
pthread_spin_trylock(),
pthread_spin_unlock()
Warning: main(/www/www/htdocs/style/footer.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_spin_lock.html on line 145
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/footer.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_spin_lock.html on line 145