lock_read(9r)lock_read(9r)NAMElock_read - General: Asserts a complex lock with read-only access
SYNOPSIS
#include <kern/lock.h>
void lock_read(
lock_t lock_structptr );
ARGUMENTS
Specifies a pointer to the complex lock structure, lock. This is the
lock structure associated with the resource on which you want to assert
a complex lock with read-only access. The lock structure is an opaque
data structure; that is, its associated members are referenced and
manipulated by the operating system and not by the user of the complex
lock mechanism.
DESCRIPTION
The lock_read routine asserts a lock with read-only access for the
resource associated with the specified lock structure pointer. The
lock_read routine allows multiple kernel threads to access the resource
read-only at the same time. When a read lock is asserted, the protected
resource is guaranteed not to change.
To release a previously asserted read lock, call the lock_done routine.
NOTES
You must call lock_init (once only) prior to calling lock_read to ini‐
tialize the lock structure pointer for the resource. A resource, from
the kernel module's standpoint, is data that more than one kernel
thread can manipulate. You can store the resource in global variables
and in data structure members.
RETURN VALUES
None
FILESSEE ALSO
Routines: lock_done(9r), lock_terminate(9r), lock_try_read(9r),
lock_try_write(9r), lock_write(9r)
Data Structures: lock(9s)lock_read(9r)