Вернуть указатель на контекст диспетчера
#include <sys/iofunc.h>#include <sys/dispatch.h>dispatch_context_t * dispatch_context_alloc( dispatch_t *dpp );
libc
Функция dispatch_context_alloc() возвращает указатель на контекст диспетчера. Функция принимает дескриптор dpp, полученный из dispatch_create(). Контекст используется диспетчером во время его работы. Он передается в качестве аргумента в функции dispatch_block() и dispatch_handler().
![]() | Функция dispatch_context_alloc() завершается с ошибкой, если никакие события диспетчера не были прикреплены (например, не вызвана функция message_attach(), resmgr_attach() или select_attach()). Библиотека диспетчера не сможет выделить подходящий контекст, не зная, на каком типе событий планируется блокироваться. |
Эта функция является частью уровня диспетчера менеджера ресурсов.
Указатель на контекст диспетчера. Если возникла ошибка, функция возвращает NULL
, код ошибки записывается в errno.
#include <sys/dispatch.h>#include <stdio.h>#include <stdlib.h>int main( int argc, char **argv ){dispatch_t *dpp;dispatch_context_t *ctp;if ( ( dpp = dispatch_create() ) == NULL ){fprintf( stderr, "%s: Unable to allocate dispatch handle.\n", argv[0] );return (EXIT_FAILURE);}...ctp = dispatch_context_alloc( dpp );...return (EXIT_SUCCESS);}
Другие примеры, использующие интерфейс диспетчера см. на страницах dispatch_create(), message_attach(), resmgr_attach() и thread_pool_create().
ЗОСРВ «Нейтрино»
dispatch_block(), dispatch_context_free(), dispatch_create(), dispatch_create_channel(), dispatch_handler(), dispatch_unblock()
Предыдущий раздел: Описание API системной библиотеки