Attach a file descriptor to a dispatch handle
#include <sys/iofunc.h>
#include <sys/dispatch.h>
int select_attach
( void *dpp,
select_attr_t *attr,
int fd,
unsigned flags,
int (*func)( select_context_t *ctp,
int fd,
unsigned flags,
void *handle ),
void *handle );
BlackBerry 10.0.0
typedef struct _select_attr {
unsigned flags;
} select_attr_t;
Currently, no attribute flags are defined.
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The function select_attach() attaches the file descriptor fd to the dispatch handle dpp and selects flags events. When fd "unblocks", func is called with handle.
Flags
The available flags are defined in <sys/dispatch.h>. The following flags use ionotify() mechanisms (see ionotify() for further details):
These flags are specific to dispatch:
Function
The argument func is the user-supplied function that's called when one of the registered events occurs on fd. This function should return 0 (zero); other values are reserved. The function is passed the following arguments:
For descriptions of the flags passed to func, see " Flags," above.
Zero on success, or -1 if an error occurred ( errno is set).
For an example with select_attach(), see dispatch_create() . For other examples using the dispatch interface, see message_attach() , resmgr_attach() , and thread_pool_create() .
| Safety: | |
|---|---|
| Cancellation point | Yes |
| Interrupt handler | No |
| Signal handler | No |
| Thread | Yes |