)I%Berkeley DB: memp_fput[P

memp_fput





#include <db.h>

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





Description



<The memp_fput function indicates that the page referenced by>pgaddr can be evicted from the pool. The pgaddrlargument must be an address previously returned by memp_fget.

VThe flags argument is specified by logically OR'ing together one or moreof the following values:

^

DB_MPOOL_CLEAN
Clear any previously set modification information (i.e., don't bother*writing the page back to the source file).Z

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

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


/The DB_MPOOL_CLEAN and DB_MPOOL_DIRTY flags aremutually exclusive.

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



Errors

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

The memp_fput)function may fail and return errnoKfor any of the errors specified for the following Berkeley DB and C library functions:DBmemp->pgin(3),DBmemp->pgout(3), abort(3), close(3),dbenv->db_paniccall(3), fcntl(3), fflush(3), fprintf(3),free(3), fstat(3), fsync(3), getenv(3), getpid(3), getuid(3), isdigit(3),9log_compare,5log_flush, lseek(3), malloc(3), memcmp(3), memcpy(3), memset(3),mmap(3),open(3), pread(3),pstat_getdynamic(3), pwrite(3),read(3),sigfillset(3),sigprocmask(3),stat(3), strerror(3), strlen(3), sysconf(3),time(3), unlink(3), vfprintf(3), vsnprintf(3),and write(3).

In addition, the memp_fput)function may fail and return errnofor the following conditions:

W

EACCES
The DB_MPOOL_DIRTY flag was set and the source file was not opened forwriting.
B

EINVAL
An invalid flag value or parameter was specified.

AThe pgaddr parameter does not reference a page returned by9memp_fget.

AMore than one of DB_MPOOL_CLEAN and DB_MPOOL_DIRTY flags was set.





See Also

8memp_close,=memp_fclose,9memp_fget,;memp_fopen, memp_fput,9memp_fset,;memp_fsync,6memp_open,Amemp_register,6memp_stat,6memp_stat,6memp_sync,;memp_trickleand:memp_unlink.