biowait_sig(D3) biowait_sig(D3)
NAME
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);
Arguments
bp Pointer to the buffer header structure.
DESCRIPTION
The biowait_sig function suspends process execution during
block I/O, but can be awakened by a signal.
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.
Level
Base only.
Synchronization Constraints
Can sleep.
Driver-defined basic locks and read/write locks may not be
held across calls to this function.
Driver-defined sleep locks may be held across calls to this
function.
Copyright 1994 Novell, Inc. Page 1
biowait_sig(D3) biowait_sig(D3)
REFERENCES
biodone(D3), biowait(D3), buf(D4), geteblk(D3), getrbuf(D3),
intr(D2), ngeteblk(D3), strategy(D2)
NOTICES
Portability
All processors
Applicability
ddi: 6, 6mp, 7, 7mp
Copyright 1994 Novell, Inc. Page 2