]> git.sur5r.net Git - openldap/commitdiff
Check for MADV_RANDOM
authorHoward Chu <hyc@symas.com>
Mon, 11 Mar 2013 13:04:54 +0000 (06:04 -0700)
committerHoward Chu <hyc@symas.com>
Mon, 11 Mar 2013 13:04:54 +0000 (06:04 -0700)
Android supports madvise but not posix_madvise

libraries/liblmdb/mdb.c

index 5eed96f356c52229b16c6febb5bdc2e8bfbc0a44..1d361a7bb12560e736034f8b04d22fe3f048c65a 100644 (file)
@@ -2871,8 +2871,14 @@ mdb_env_open2(MDB_env *env)
                return ErrCode();
        }
        /* Turn off readahead. It's harmful when the DB is larger than RAM. */
+#ifdef MADV_RANDOM
+       madvise(env->me_map, env->me_mapsize, MADV_RANDOM);
+#else
+#ifdef POSIX_MADV_RANDOM
        posix_madvise(env->me_map, env->me_mapsize, POSIX_MADV_RANDOM);
-#endif
+#endif /* POSIX_MADV_RANDOM */
+#endif /* MADV_RANDOM */
+#endif /* _WIN32 */
 
        if (newenv) {
                if (flags & MDB_FIXEDMAP)