Index Index for
Section 9r
Index Alphabetical
listing for B
Bottom of page Bottom of
page

BUF_LOCK(9r)

NAME

BUF_LOCK - General: Locks the specified I/O buffer

SYNOPSIS

void BUF_LOCK( struct buf *bp );

ARGUMENTS

bp Specifies a pointer to a buf structure.

DESCRIPTION

The BUF_LOCK routine locks the specified I/O buffer. The routine masks all disk and tape controller interrupts (by calling the splbio routine). It sets the mutual exclusion buffer lock member, b_lock, of the specified buf structure pointer. The BUF_LOCK routine then sets the b_flags member of the specified buf structure pointer to B_BUSY to indicate that this buffer is being used. Finally, BUF_LOCK resets the CPU priority level (by calling the splx routine).

NOTES

You should design in your kernel modules to hold the I/O buffer lock for as short a period of time as possible to allow maximum concurrency. You should also release the I/O buffer lock by calling the BUF_UNLOCK routine before returning from the module's entry point.

RETURN VALUES

None

SEE ALSO

Routines: BUF_UNLOCK(9r)

Index Index for
Section 9r
Index Alphabetical
listing for B
Top of page Top of
page