Warning: main(/www/www/htdocs/style/globals.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/i/iofunc_unblock_default.html on line 1
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/globals.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/i/iofunc_unblock_default.html on line 1
Warning: main(/www/www/htdocs/style/header.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/i/iofunc_unblock_default.html on line 8
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/header.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/i/iofunc_unblock_default.html on line 8
Default unblock handler
#include <sys/iofunc.h>
int iofunc_unblock_default( resmgr_context_t * ctp,
io_pulse_t * msg,
iofunc_ocb_t * ocb );
- ctp
- A pointer to a
resmgr_context_t
structure that the resource-manager library uses to pass context information
between functions.
- msg
- A pointer to the io_pulse_t structure that describes
the pulse that the resource manager received.
- ocb
- A pointer to the
iofunc_ocb_t
structure for the Open Control Block that was created when the
client opened the resource.
libc
Use the -l c option to
qcc
to link against this library.
This library is usually included automatically.
The iofunc_unblock_default() function calls
iofunc_unblock().
The iofunc_unblock_default() function implements the
functionality required when the client requests to be unblocked
(e.g. a signal or timeout).
You can place this function directly into the io_funcs
table passed to
resmgr_attach(),
at the unblock position, or you can call
iofunc_func_init()
to initialize all of the functions to their default values.
The unblock message is synthesized by the resource-manager shared
library when a client wishes to unblock from its
MsgSendv()
to the resource manager.
The iofunc_unblock_default() function takes care of freeing up any
locks that the client may have placed on the resource.
- _RESMGR_DEFAULT
- No client connection was found.
- _RESMGR_NOREPLY
- A client connection has been unblocked.
If you're calling
iofunc_lock_default(),
your unblock handler should call iofunc_unblock_default():
if((status = iofunc_unblock_default(...)) != _RESMGR_DEFAULT) {
return status;
}
/* Do your own thing to look for a client to unblock */
QNX Neutrino
Safety: | |
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
Yes |
Thread |
Yes |
iofunc_func_init(),
iofunc_lock_default(),
iofunc_ocb_t,
resmgr_attach(),
resmgr_context_t,
resmgr_io_funcs_t
Writing a Resource Manager
Resource Managers
chapter of Getting Started with QNX Neutrino
Warning: main(/www/www/htdocs/style/footer.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/i/iofunc_unblock_default.html on line 182
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/footer.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/i/iofunc_unblock_default.html on line 182