[ Bottom of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]

Technical Reference: Kernel and Subsystems, Volume 1

lock_read or lock_try_read Kernel Service

Purpose

Locks a complex lock in shared-read mode.

Syntax

#include <sys/lock_def.h>


void lock_read ( lock_addr)
complex_lock_t lock_addr;


boolean_t lock_try_read ( lock_addr)
complex_lock_t lock_addr;

Parameter

lock_addr Specifies the address of the lock word to lock.

Description

The lock_read kernel service locks the specified complex lock in shared-read mode; it blocks if the lock is locked in exclusive-write mode. The lock must previously have been initialized with the lock_init kernel service. The lock_read kernel service has no return values.

The lock_try_read kernel service tries to lock the specified complex lock in shared-read mode; it returns immediately if the lock is locked in exclusive-write mode, otherwise it locks the lock in shared-read mode. The lock must previously have been initialized with the lock_init kernel service.

Execution Environment

The lock_read and lock_try_read kernel services can be called from the process environment only.

Return Values

The lock_try_read kernel service has the following return values:

TRUE Indicates that the lock was successfully acquired in shared-read mode.
FALSE Indicates that the lock was not acquired.

Related Information

The lock_init kernel service, lock_islocked kernel service, lock_done kernel service.

Understanding Locking and Locking Kernel Services in AIX 5L Version 5.2 Kernel Extensions and Device Support Programming Concepts

[ Top of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]