[ Previous | Next | Contents | Home | Search ]
AIX Version 4.3 Kernel and Subsystems Technical Reference, Volume 1

lock_set_recursive Kernel Service

Purpose

Prepares a complex lock for recursive use.

Syntax

#include <sys/lock_def.h>
void lock_set_recursive (lock_addr)
complex_lock_t lock_addr;

Parameter

lock_addr Specifies the address of the lock word to be prepared for recursive use.

Description

The lock_set_recursive kernel service prepares the specified complex lock for recursive use. A complex lock cannot be nested until the lock_set_recursive kernel service is called for it. The calling kernel thread must hold the specified complex lock in write-exclusive mode.

When a complex lock is used recursively, the lock_done kernel service must be called once for each time that the thread is locked in order to unlock the lock.

Only the kernel thread which calls the lock_set_recursive kernel service for a lock may acquire that lock recursively.

Execution Environment

The lock_set_recursive kernel service can be called from process environment only.

Return Values

The lock_set_recursive kernel service has no return values.

Implementation Specifics

The lock_set_recursive kernel service is part of the Base Operating System (BOS) Runtime.

Related Information

The lock_init kernel service, lock_done kernel service, lock_write kernel service, lock_clear_recursive kernel service.

Understanding Locking and Locking Kernel Services in AIX Kernel Extensions and Device Support Programming Concepts


[ Previous | Next | Contents | Home | Search ]