pthread_spin_trylock()

Updated: April 19, 2023

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

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