Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

pthread_spin_trylock()

Try to lock a thread spinlock

Synopsis:

#include <pthread.h>

int pthread_spin_trylock( 
       pthread_spinlock_t * spinner );

Arguments:

spinner
A pointer to the pthread_spinlock_t object that you want to try to lock.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The pthread_spin_trylock() function attempts to lock the thread spinlock specified by spinner. It returns immediately if spinner can't be locked.

If a thread attempts to lock a spinlock that it's already locked via pthread_spin_lock() or pthread_spin_trylock(), the thread deadlocks.

Returns:

EOK
Success.
EAGAIN
Insufficient resources available to lock spinner.
EBUSY
The thread spinlock spinner is already locked by another thread.
EINVAL
Invalid pthread_spinlock_t object spinner.

Classification:

POSIX 1003.1 THR SPI

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

pthread_spin_destroy(), pthread_spin_init(), pthread_spin_lock(), pthread_spin_unlock()