sem_trywait()

Ожидать на именованном или безымянном семафоре без блокировки

Прототип:

#include <semaphore.h>
int sem_trywait( sem_t *sem );

Аргументы:

sem
A pointer to the sem_t object for the semaphore that you want to wait on.

Библиотека:

libc

Описание:

The sem_trywait() function decrements the semaphore if the semaphore's value is greater than zero; otherwise, the function simply returns.

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

0
Семафор был успешно декрементирован.
-1
Возникла ошибка. Состояние семафора не изменено. Код ошибки записан в errno.

Коды ошибок:

EAGAIN
The semaphore was already locked, so it couldn't be immediately locked by the sem_trywait() function.
EDEADLK
A deadlock condition was detected.
EINVAL
Invalid semaphore descriptor sem.
EINTR
A signal interrupted this function.

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

POSIX 1003.1 SEM

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

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

sem_destroy(), sem_init(), sem_post(), sem_wait()




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