DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
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