Locks a complex lock in exclusive-write mode.
#include <sys/lock_def.h>
void lock_write (lock_addr) complex_lock_t lock_addr;
boolean_t lock_try_write (lock_addr) complex_lock_t lock_addr;
lock_addr | Specifies the address of the lock word to lock. |
The lock_write kernel service locks the specified complex lock in exclusive-write mode; it blocks if the lock is busy. The lock must have been previously initialized with the lock_init kernel service. The lock_write kernel service has no return values.
The lock_try_write kernel service tries to lock the specified complex lock in exclusive-write mode; it returns immediately without blocking if the lock is busy. The lock must have been previously initialized with the lock_init kernel service.
The lock_write and lock_try_write kernel services can be called from the process environment only.
The lock_try_write kernel service has the following parameters:
TRUE | Indicates that the lock was successfully acquired. |
FALSE | Indicates that the lock was not acquired. |
The lock_write and lock_try_write kernel services are part of the Base Operating System (BOS) Runtime.
The lock_init kernel service, lock_islocked kernel service, lock_done kernel service, lock_read_to_write kernel service, lock_try_read_to_write kernel service, lock_write_to_read kernel service.
Understanding Locking and Locking Kernel Services in AIX Kernel Extensions and Device Support Programming Concepts