#include <db_cxx.h> int DbEnv::mutex_stat(DB_MUTEX_STAT **statp, u_int32_t flags);
The DbEnv::mutex_stat()
method returns the mutex subsystem
statistics.
The DbEnv::mutex_stat()
method creates a statistical structure of
type DB_MUTEX_STAT
and copies a pointer to it into a user-specified
memory location.
Statistical structures are stored in allocated memory. If application-specific allocation routines have been declared (see DbEnv::set_alloc() for more information), they are used to allocate the memory; otherwise, the standard C library malloc(3) is used. The caller is responsible for deallocating the memory. To deallocate the memory, free the memory reference; references inside the returned memory need not be individually freed.
The following DB_MUTEX_STAT
fields will be filled in:
u_int32_t st_mutex_align;
The mutex alignment, in bytes.
u_int32_t st_mutex_tas_spins;
The number of times test-and-set mutexes will spin without blocking.
int st_mutex_cnt;
The total number of mutexes configured.
u_int32_t st_mutex_free;
The number of mutexes currently available.
u_int32_t st_mutex_inuse;
The number of mutexes currently in use.
u_int32_t st_mutex_inuse_max;
The maximum number of mutexes ever in use.
roff_t st_regsize;
The size of the mutex region, in bytes.
uintmax_t st_region_wait;
The number of times that a thread of control was forced to wait before obtaining the mutex region mutex.
uintmax_t st_region_nowait;
The number of times that a thread of control was able to obtain the mutex region mutex without waiting.
The DbEnv::mutex_stat()
method may not be called before the
DbEnv::open() method is called.
The DbEnv::mutex_stat()
method either returns a non-zero error value or throws an
exception that encapsulates a non-zero error value on
failure, and returns 0 on success.
The flags parameter must be set to 0 or the following value:
DB_STAT_CLEAR
Reset statistics after returning their values.
The DbEnv::mutex_stat()
method may fail and throw a DbException
exception, encapsulating one of the following non-zero errors, or return one
of the following non-zero errors: