#include <db.h>int memp_trickle(DB_MPOOL *mp, int pct, int *nwrotep);
The memp_trickle function ensures that at least pct percent of the pages in the shared memory pool are clean by writing dirty pages to their backing files. If the nwrotep argument is non-NULL, the number of pages that were written to reach the correct percentage is returned in the memory location it references.
The purpose of the memp_trickle function is to enable a memory pool manager to ensure that a page is always available for reading in new information without having to wait for a write.
The memp_trickle function returns the value of errno on failure, and 0 on success.
The memp_trickle 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), fstat(3), fsync(3), getenv(3), getpid(3), getuid(3), isdigit(3), log_compare, log_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_trickle function may fail and return errno for the following conditions: