dispatch_create_channel()

Выделить обработчик с заданием идентификатора канала

Прототип:

#include <sys/iofunc.h>
#include <sys/dispatch.h>
dispatch_t * dispatch_create_channel( int chid,
unsigned reserved );

Аргументы:

chid
Идентификатор канала, используемого на уровне диспетчера.
reserved
Зарезервировано; установите этот аргумент в 0.

Библиотека:

libc

Описание:

Функция dispatch_create_channel() выделяет память и инициализирует структуру диспетчера. Функции присоединения:

При желании можно вызвать resmgr_attach() с путем, равным NULL. Помимо всего прочего, это будет иметь эффект инициализации диспетчера для получения сообщений.

Данная функция похожа на dispatch_create(), но позволяет указать канал, используемый диспетчером. Это дает возможность использовать name_attach() в приложениях Photon, не вызывая никаких проблем с самим Photon. Также это дает возможность установить требуемые флаги для канала с помощью name_attach().

Эта функция является частью уровня диспетчера менеджера ресурсов.

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

Дескриптор диспетчера или NULL в случае возникновения ошибки.


Note: Структура диспетчера dispatch_t не является прозрачной; явно получить доступ к ее содержимому нельзя.

Коды ошибок:

ENOMEM
Недостаточно памяти для создания контекста.

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

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

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

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

ChannelCreate(), dispatch_block(), dispatch_context_alloc(), dispatch_create(), dispatch_destroy(), dispatch_handler(), dispatch_timeout(), dispatch_unblock() message_attach(), name_attach(), pulse_attach(), resmgr_attach(), select_attach()




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