June 2001
Intermediate to advanced
688 pages
19h 18m
English
#include <db.h> int lock_vec(DB_ENV *env, u_int32_t locker, u_int32_t flags, DB_LOCKREQ list[], int nlist, DB_LOCKREQ **elistp);
The lock_vec function atomically obtains and releases one or more locks from the lock table. The lock_vec function is intended to support acquisition or trading of multiple locks under one lock table semaphore, as is needed for lock coupling or in multigranularity locking for lock escalation.
The locker argument specified to lock_vec is an unsigned 32-bit integer quantity. It represents the entity requesting or releasing the lock.
The flags value must be set to 0 or the following value:
DB_LOCK_NOWAIT If a lock cannot be immediately granted because the requested lock conflicts with an existing ...