pthread_spin_trylock()

Произвести попытку активации циклической блокировки

Прототип:

#include <pthread.h>
int pthread_spin_trylock( pthread_spinlock_t *spinner );

Аргументы:

spinner
Указатель на объект pthread_spinlock_t, который требуется попытаться заблокировать.

Библиотека:

libc

Описание:

Функция pthread_spin_trylock() пытается заблокировать циклическую блокировку потока spinner. Функция немедленно завершается, если spinner не может быть заблокирована.

Если поток пытается заблокировать циклическую блокировку, которая уже заблокирована с помощью pthread_spin_lock() или pthread_spin_trylock(), поток блокируется.

Возвращаемое значение:

EOK
Успешное завершение.
EAGAIN
Недостаточно ресурсов для блокировки spinner.
EBUSY
Циклическая блокировка потока spinner уже заблокирована другим потоком.
EINVAL
Некорректный объект pthread_spinlock_t spinner.

Классификация:

POSIX 1003.1 Threads, Spin Locks

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

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




Предыдущий раздел: Описание API системной библиотеки