Berkeley DB: memp_close
Полезная информация


#include <db.h>

int memp_close(DB_MPOOL *mp);


The memp_close function closes the memory pool.

Calling memp_close does not imply a call to memp_fsync, but does imply a call to memp_fclose for any remaining open files in the pool returned to this process by calls to memp_fopen.

In addition, if the dir argument to memp_open was NULL and dbenv was not initialized using db_appinit, or the DB_MPOOL_PRIVATE flag was set, all files created for this shared region will be removed, as if the memp_unlink function were called.

In multi-threaded applications, only a single thread may call the memp_close function.

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


If a fatal error occurs in Berkeley DB, the memp_close function may fail and return DB_RUNRECOVERY, at which point all subsequent database calls will also return DB_RUNRECOVERY.

The memp_close function may fail and return errno for any of the errors specified for the following Berkeley DB and C library functions: abort(3), close(3), fcntl(3), fflush(3), fprintf(3), free(3), getpid(3), memp_fclose, memset(3), munmap(3), shmctl(3), shmdt(3), strlen(3), unlink(3), vfprintf(3), and vsnprintf(3).

See Also

memp_close, memp_fclose, memp_fget, memp_fopen, memp_fput, memp_fset, memp_fsync, memp_open, memp_register, memp_stat, memp_stat, memp_sync, memp_trickle and memp_unlink.