BUF_LOCK(9r)BUF_LOCK(9r)NAME
BUF_LOCK - General: Locks the specified I/O buffer
SYNOPSIS
void BUF_LOCK(
struct buf *bp );
ARGUMENTS
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 rou-
tine). 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 concur-
rency. 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)BUF_LOCK(9r)
Check Out this Related Man Page
BUF_TIMELOCK(9) BSD Kernel Developer's Manual BUF_TIMELOCK(9)NAME
BUF_TIMELOCK -- locks a buffer
SYNOPSIS
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/uio.h>
#include <sys/bio.h>
#include <sys/buf.h>
int
BUF_TIMELOCK(struct buf *bp, int locktype, char *wmesg, int catch, int timo);
DESCRIPTION
The BUF_TIMELOCK() function locks the given buffer, and limits the amount of time it will sleep to timo and OR's catch into the sleep's pri-
ority. wmesg is the wmesg used in the sleep.
Its arguments are:
bp The buffer to lock.
locktype Flags controlling the type of lock. See lockmgr(9) for details.
wmesg The wmesg used in any sleeps while acquiring the lock.
catch Priority OR'd into the sleep's priority.
timo The timeout for any sleeps encountered during the lock.
RETURN VALUES
A value of 0 is returned on success. See lockmgr(9) for details on non-zero return values.
SEE ALSO buf(9), BUF_LOCK(9), BUF_UNLOCK(9), lockmgr(9)AUTHORS
This manual page was written by Chad David <davidc@acns.ab.ca>.
BSD July 9, 2001 BSD
Hi Folks,
Today hasn't been the best one of my career in IT.
I've been a contractor for a major utility company for a number of years, on a number of seperate IT contracts mostly Unix. The company had 10 different flavours of unix and multiple different varsions of most of them.
At the... (3 Replies)