+I%Berkeley DB: lock_stat[P

lock_stat





#include <db.h>

intlock_stat(DB_LOCKTAB *lt,6 DB_LOCK_STAT **statp, void *(*db_malloc)(size_t));





Description

The lock_stat function>creates a statistical structure and copies pointers to it into user-specified memory locations.

6Statistical structure are created in allocated memory.IfBdb_malloc is non-NULL, it is called to allocate the memory,:otherwise, the library function malloc(3)) is used.CThe function db_malloc must match the calling conventions of&the malloc(3)) library routine.CRegardless, the caller is responsible for deallocating the returnedmemory.ETo deallocate the returned memory, free each returned memory pointer;@pointers inside the memory do not need to be individually freed.

<The lock region statistics are stored in a structure of typeCDB_LOCK_STAT. The following DB_LOCK_STAT fields will be filled in:

R
u_int32_t st_magic;
The magic number that identifies a file as a lock file.?
u_int32_t st_version;
The version of the lock file type.C
u_int32_t st_refcnt;
The number of references to the region.4
u_int32_t st_regsize;
The size of the region.C
u_int32_t st_maxlocks;
The maximum number of locks possible.5
u_int32_t st_nmodes;
The number of lock modes.A
u_int32_t st_numobjs;
The number of unique objects locked.;
u_int32_t st_nlockers;
The number of unique lockers.e
u_int32_t st_nconflicts;
The total number of locks not immediately available due to conflicts.C
u_int32_t st_nrequests;
The total number of locks requested.B
u_int32_t st_nreleases;
The total number of locks released.A
u_int32_t st_ndeadlocks;
The number of deadlocks detected.g
u_int32_t st_region_wait;
The number of times that a thread of control was forced to wait beforeobtaining the region lock.b
u_int32_t st_region_nowait;
The number of times that a thread of control was able to obtain the region lock without waiting.


The lock_statHfunction returns the value of errno on failure, and 0 on success.



Errors

RIf a fatal error occurs in Berkeley DB, the lock_stat function may fail and returnFDB_RUNRECOVERY, at which point all subsequent database calls will alsoreturn DB_RUNRECOVERY.

The lock_stat)function may fail and return errnoKfor any of the errors specified for the following Berkeley DB and C library functions: abort(3), fcntl(3), fprintf(3), getpid(3), malloc(3),and memset(3).



See Also

:lock_close,<lock_detect,6lock_get,4lock_id,8lock_open,3lock_put, lock_stat,;lock_unlinkand6lock_vec.
ÿÿ