sem_destroy()

Уничтожить безымянный семафор

Прототип:

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

Аргументы:

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

Библиотека:

libc

Описание:

The sem_destroy() function destroys the unnamed semaphore referred to by the sem argument. The semaphore must have been previously initialized by the sem_init() function.

The effect of using a semaphore after it has been destroyed is undefined. If you destroy a semaphore that other processes are currently blocked on, they're unblocked, with an error (EINVAL).


Note: Don't mix named semaphore operations ( sem_open() and sem_close()) with unnamed semaphore operations (sem_init() and sem_destroy()) on the same semaphore.

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

0
Успешное завершение.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EINVAL
Invalid semaphore descriptor sem.

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

POSIX 1003.1 SEM

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

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

sem_init(), sem_post(), sem_trywait(), sem_wait()




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