sem_destroy()

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

Прототип:

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

Аргументы:

sem
Указатель на семафор sem_t, который необходимо уничтожить.

Библиотека:

libc

Описание:

Функция sem_destroy() уничтожает безымянный семафор, на который ссылается аргумент sem. Семафор семафор должен быть предварительно инициализирован функцией sem_init().

Эффект использования семафора после его уничтожения не определен. Если вы уничтожите семафор, на котором другие процессы в настоящее время заблокированы, то они будут разблокированы с ошибкой (EINVAL).


Note: Не смешивайте операции ( sem_open() и sem_close()) совместно с операциями (sem_init() и sem_destroy()) над одним и тем же семафором.

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

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

Коды ошибок:

EINVAL
Неправильный дескриптор семафора sem.

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

POSIX 1003.1 Semaphores

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

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

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




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