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


#include <db.h>

int memp_fsync(DB_MPOOLFILE *mpf);


The memp_fsync function writes all pages associated with the DB_MPOOLFILE structure, that were marked as modified using memp_fput or memp_fset, back to the source file. If any of the modified pages are also pinned (i.e., currently referenced by this or another process) memp_fsync will ignore them.

The memp_fsync function returns the value of errno on failure, 0 on success, and DB_INCOMPLETE if there were pages which were modified but which memp_fsync was unable to write.


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

The memp_fsync function may fail and return errno for 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), fsync(3), getenv(3), getpid(3), getuid(3), isdigit(3), log_compare, log_flush, lseek(3), malloc(3), memcpy(3), memset(3), open(3), pread(3), pwrite(3), qsort(3), read(3), realloc(3), sigfillset(3), sigprocmask(3), stat(3), strerror(3), strlen(3), unlink(3), vfprintf(3), vsnprintf(3), and write(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.