SVR5
biowait_sig(D3)
biowait_sig --
suspend execution pending completion of block I/O or signal
Synopsis
#include <sys/types.h>
#include <sys/buf.h>
#include <sys/ddi.h>
bool_t biowait_sig(buf_t *bp);
Description
The
biowait_sig( )
function suspends process execution during block I/O,
but can be awakened by a signal.
Arguments
bp-
Pointer to the buffer header structure.
Return values
Returns B_TRUE when the I/O has completed
(biodone(D3)
has been called).
If the wait is interrupted by a signal,
B_FALSE will be returned
and it is the caller's responsibility
to cause the transfer to be aborted
(and biodone to be called) and then call
biowait(D3)
or
biowait_sig( )
again.
Usage
Block drivers that have allocated their own buffers with
geteblk(D3),
getrbuf(D3),
or
ngeteblk(D3)
can use biowait_sig
to suspend the current process execution while waiting for a read
or write request to complete.
Drivers using
biowait_sig( )
must use
biodone( )
in their I/O completion handlers to signal
biowait( )
when the I/O transfer is complete.
Context and synchronization
User or blockable
context.
Hardware applicability
All
Version applicability
ddi:
6, 6mp, 7, 7mp, 7.1, 7.1mp, 8, 8mp
References
biodone(D3),
biowait(D3),
buf(D4)
geteblk(D3),
getrbuf(D3),
intr(D2),
ngeteblk(D3),
strategy(D2)
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005