]> git.sur5r.net Git - openldap/commitdiff
Add MDB_FDATASYNC to allow override to fsync if needed.
authorHoward Chu <hyc@symas.com>
Fri, 11 Nov 2011 20:49:11 +0000 (12:49 -0800)
committerHoward Chu <hyc@symas.com>
Fri, 11 Nov 2011 20:49:11 +0000 (12:49 -0800)
libraries/libmdb/mdb.c

index 320b1eabd8e573a44108c18f3e2c74f17aaf27af..fd7f7fa1952b103ddea80b69cc02b93fafd2d298 100644 (file)
 #ifndef MDB_DSYNC
 # define MDB_DSYNC     O_DSYNC
 #endif
+#endif
+
+/** Function for flushing the data of a file. Define this to fsync
+ *     if fdatasync() is not supported.
+ */
+#ifndef MDB_FDATASYNC
+# define MDB_FDATASYNC fdatasync
 #endif
 
        /** A page number in the database.
@@ -1283,7 +1290,7 @@ mdb_env_sync(MDB_env *env, int force)
 {
        int rc = 0;
        if (force || !F_ISSET(env->me_flags, MDB_NOSYNC)) {
-               if (fdatasync(env->me_fd))
+               if (MDB_FDATASYNC(env->me_fd))
                        rc = ErrCode();
        }
        return rc;