Prototype:
int (*unblock) ( resmgr_context_t *ctp,
io_pulse_t *msg,
RESMGR_OCB_T *ocb )
Classification:
I/O (synthesized by kernel, synthesized by library)
Client function:
none—kernel action due to signal or timeout
Messages:
none—synthesized by library
Data structure:
pointer to message structure being interrupted
Description:
This is the I/O message version of the unblock outcall, synthesized by
the library as a result of a kernel pulse due to the client's attempt to unblock during the I/O
message phase. The unblock connect function handler is substantially the same (see the preceding
section).
Common to both unblock handlers (connect and I/O) is the characteristic
that the client wishes to unblock, but is at the mercy of the resource manager.
The resource manager
must reply to the client's message in
order to unblock the client.
(This is discussed in the
Message Passing chapter when we
looked at the
ChannelCreate()
flags, particularly the
_NTO_CHF_UNBLOCK flag).
Returns:
The status via the helper macro _RESMGR_STATUS().