chickadee » lmdb-lolevel » mdb-env-sync

mdb-env-sync env forceprocedure

Flush the data buffers to disk.

Data is always written to disk when (mdb-txn-commit) is called, but the operating system may keep it buffered. LMDB always flushes the OS buffers upon commit as well, unless the environment was opened with MDB_NOSYNC or in part MDB_NOMETASYNC. This call is not valid if the environment was opened with MDB_RDONLY.

env
An environment handle returned by (mdb-env-create)
force
If non-zero, force a synchronous flush. Otherwise if the environment has the MDB_NOSYNC flag set the flushes will be omitted, and with MDB_MAPASYNC they will be asynchronous.

Some possible error conditions:

(exn lmdb EACCES)
the environment is read-only.
(exn lmdb EINVAL)
an invalid parameter was specified.
(exn lmdb EIO)
an error occurred during synchronization.