#include <db.h>int txn_checkpoint(const DB_TXNMGR *txnp, u_int32_t kbyte, u_int32_t min);
The txn_checkpoint function flushes the underlying memory pool, writes a checkpoint record to the log and then flushes the log.
If either kbyte or min is non-zero, the checkpoint is only done if more than min minutes have passed since the last checkpoint, or if more than kbyte kilobytes of log data have been written since the last checkpoint.
The txn_checkpoint function returns the value of errno on failure, 0 on success, and DB_INCOMPLETE if there were pages that needed to be written but that memp_sync was unable to write immediately. In this case, the txn_checkpoint call should be retried.
The txn_checkpoint function is the underlying function used by the db_checkpoint utility. See the db_checkpoint utility source code for an example of using txn_checkpoint in a POSIX 1003.1 environment.
The txn_checkpoint function may fail and return errno for any of the errors specified for the following Berkeley DB and C library functions: abort(3), fcntl(3), fflush(3), fprintf(3), free(3), getpid(3), log_compare, log_put, malloc(3), memcpy(3), memp_sync, memset(3), strerror(3), time(3), vfprintf(3), and vsnprintf(3).
In addition, the txn_checkpoint function may fail and return errno for the following conditions: