memp_fset

APIRef

#include <db.h>

int memp_fset(DB_MPOOLFILE *mpf, void *pgaddr, u_int32_t flags);

Description

The memp_fset function sets the flags associated with the page to which pgaddr refers without unpinning it from the pool. The pgaddr argument must be an address previously returned by memp_fget.

The flags value must be set to 0 or by bitwise inclusively OR'ing together one or more of the following values:

DB_MPOOL_CLEAN
Clear any previously set modification information (that is, don't bother writing the page back to the source file).

DB_MPOOL_DIRTY
The page has been modified and must be written to the source file before being evicted from the pool.

DB_MPOOL_DISCARD
The page is unlikely to be useful in the near future, and should be discarded before other pages in the pool.

The DB_MPOOL_CLEAN and DB_MPOOL_DIRTY flags are mutually exclusive.

The memp_fset function returns a non-zero error value on failure and 0 on success.

Errors

The memp_fset function may fail and return a non-zero error for the following conditions:

EINVAL
An invalid flag value or parameter was specified.

The memp_fset function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions. If a catastrophic error has occurred, the memp_fset function may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.

See Also

DB_ENV->set_cachesize, DB_ENV->set_mp_mmapsize, memp_fclose, memp_fget, memp_fopen, memp_fput, memp_fset, memp_fsync, memp_register, memp_stat, memp_sync, and memp_trickle.

APIRef

Copyright Sleepycat Software