Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

dispatch_create_channel()

Allocate a dispatch handle, specifying a channel ID

Synopsis:

#include <sys/iofunc.h>
#include <sys/dispatch.h>

dispatch_t *dispatch_create_channel( int chid,
                                     unsigned reserved );

Arguments:

chid
The ID of the channel to use for the dispatch layer.
reserved
Reserved; specify 0 for this argument.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The dispatch_create_channel() function allocates and initializes a dispatch handle. The attach functions are:

If you wish, you can do a resmgr_attach() with a NULL path. This has the effect of initializing dispatch to receive messages, among other things.

This function is similar to dispatch_create(), but lets you specify a channel for the dispatch to use. This lets you use name_attach() in a Photon application without causing any problems with Photon itself. It also lets you specify channel flags for name_attach().

This function is part of the dispatch layer of a resource manager. For more information, see "Components of a resource manager" in the Writing a Resource Manager chapter of the Neutrino Programmer's Guide.

Returns:

A handle to a dispatch structure, or NULL if an error occurs.


Note: The dispatch structure, dispatch_t, is an opaque data type; you can't access its contents directly.

Errors:

ENOMEM
Insufficient memory to allocate context.

Classification:

QNX Neutrino

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes

See also:

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()

"Components of a resource manager" in the Writing a Resource Manager chapter of the Neutrino Programmer's Guide

Resource Managers chapter of Getting Started with QNX Neutrino