_sleepon_lock()

Заблокировать мьютекс ждущей блокировки

Прототип:

#include <pthread.h>
int _sleepon_lock( sleepon_t *l );

Аргументы:

l
Указатель на sleepon_t, созданный вызовом _sleepon_init().

Библиотека:

libc

Описание:

Функция _sleepon_lock() блокирует мьютекс, связанный со структурой sleepon, l.

Требуется вызвать эту функцию перед вызовом _sleepon_wait(), _sleepon_signal() или _sleepon_broadcast().

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

EOK
Успешное завершение.
EAGAIN
Недостаточно системных ресурсов для блокировки мьютекса.
EDEADLK
Вызывающий поток уже владеет мьютексом , а мьютекс не допускает рекурсивного поведения.
EINVAL
Неправильный мьютекс.

Функция _sleepon_lock() возвращает те же значения, что и pthread_mutex_lock().

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

ЗОСРВ «Нейтрино»

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

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

pthread_mutex_lock(), _sleepon_broadcast(), _sleepon_destroy(), _sleepon_init(), _sleepon_signal(), _sleepon_unlock(), _sleepon_wait()




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