Осуществить попытку блокировки атрибутной записи
#include <sys/iofunc.h>int iofunc_attr_trylock( iofunc_attr_t *attr );
libc
Функция iofunc_attr_trylock() осуществит попытку блокировать атрибутную запись attr, предотвращая изменение информации другими потоками менеджера ресурсов. Если функция не может блокировать атрибутную запись немедленно, то вернет EBUSY
.
Вызывать эту функцию (или iofunc_attr_trylock()) необходимо прежде чем внести какие-либо изменения в структуру атрибутной записи. После внесения изменений нужно вызвать iofunc_attr_unlock(), чтобы снять блокировку.
Обратите внимание, что этот механизм блокировки имеет встроенный счетчик. Это означает, что поток может блокировать структуру атрибутной записи несколько раз. Затем поток должен разблокировать структуру атрибутной записи такое же количество раз и только после этого структура будет считаться разблокированной. При попытке другого потока заблокировать структуру, заблокированную текущим потоком, он будет заблокирован.
ЗОСРВ «Нейтрино»
iofunc_attr_init(), iofunc_attr_lock(), iofunc_attr_t, iofunc_attr_unlock()
Предыдущий раздел: Описание API системной библиотеки