dispatch_unblock()

Unblock all of the threads that are blocked on a dispatch handle

Synopsis:

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

void dispatch_unblock( dispatch_context_t * ctp );

Arguments:

ctp
A pointer to a dispatch_context_t structure that defines the dispatch context.

Library:

libc

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

Description:

This routine tries to unblock all of the threads that are blocked on the given dispatch handle. You should use this function in the thread pool structure as the unblock function pointer so that thread_pool_control() will behave properly.

Currently, this function unblocks only channel resources.

This function is part of the dispatch layer of a resource manager. For more information, see Layers in a resource manager in the Bones of a Resource Manager chapter of Writing a Resource Manager.

Examples:

For examples using the dispatch interface, see dispatch_create(), message_attach(), resmgr_attach(), and thread_pool_create().

Classification:

QNX Neutrino

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

See also:

dispatch_block(), dispatch_context_alloc(), dispatch_create(), dispatch_create_channel(), dispatch_handler(), dispatch_timeout()

Layers in a resource manager in the Bones of a Resource Manager chapter of Writing a Resource Manager