name_detach()

Удалить имя из пространства имен и уничтожить канал

Прототип:

#include <sys/iofunc.h>
#include <sys/dispatch.h>
int name_detach( name_attach_t *attach,
unsigned flags );

Аргументы:

attach
Указатель на структуру name_attach_t, возвращаемую name_attach().
flags
Флаги, влияющие на поведение функции:
NAME_FLAG_DETACH_SAVEDPP
не удалять дескриптор диспетчера.

Библиотека:

libc

Описание:

Функция name_detach() удаляет имя канала из пространства имен и уничтожает канал, созданный вызовом name_attach(). Если установлен флаг NAME_FLAG_DETACH_SAVEDPP, указатель диспетчера, содержащийся в структуре name_attach_t, не уничтожается; уничтожить его с помощью вызова dispatch_destroy() - задача программиста. По умолчанию указатель диспетчера уничтожается.

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

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

Коды ошибок:

EINVAL
Идентификатор монтирования никогда не был зарегистрирован с помощью name_attach().

Примеры:

См. name_attach() и resmgr_detach().

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

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

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

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

name_attach_t, ChannelDestroy(), dispatch_*(), name_attach(), name_close(), name_open(), resmgr_detach()




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