# DB_MPOOLFILE->put

`

###

    #include <db.h>

    int
    DB_MPOOLFILE->put(DB_MPOOLFILE *mpf, void *pgaddr, u_int32_t flags);

# Description

The DB_MPOOLFILE->put function indicates that the page to which pgaddr refers can be evicted from the pool. The pgaddr argument must be an address previously returned by DB_MPOOLFILE->get.

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 DB_MPOOLFILE->put function returns a non-zero error value on failure and 0 on success.

# Errors

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

EACCES
  The DB_MPOOL_DIRTY flag was set and the source file was not opened for writing.

EINVAL
  An invalid flag value or parameter was specified.

  The pgaddr argument does not refer to a page returned by DB_MPOOLFILE->get.

  More than one of the DB_MPOOL_CLEAN and DB_MPOOL_DIRTY flags was set.

The DB_MPOOLFILE->put 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 DB_MPOOLFILE->put 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, DB_ENV->memp_fcreate, DB_MPOOLFILE->close, DB_MPOOLFILE->get, DB_MPOOLFILE->open, DB_MPOOLFILE->put, DB_MPOOLFILE->set, DB_MPOOLFILE->sync, DB_ENV->memp_register, DB_MPOOLFILE->set_clear_len, DB_MPOOLFILE->set_fileid, DB_MPOOLFILE->set_ftype, DB_MPOOLFILE->set_lsn_offset, DB_MPOOLFILE->set_pgcookie, DB_ENV->memp_stat, DB_ENV->memp_sync, and DB_ENV->memp_trickle.`

Copyright Sleepycat Software