#define MDB_NOMETASYNC         0x40000
        /** use writable mmap */
 #define MDB_WRITEMAP           0x80000
-       /** use asynchronous msync when MDB_WRITEMAP is used */
+       /** use asynchronous msync when #MDB_WRITEMAP is used */
 #define MDB_MAPASYNC           0x100000
        /** tie reader locktable slots to #MDB_txn objects instead of to threads */
 #define MDB_NOTLS              0x200000
-       /** don't use reader locktable at all, caller must manage read/write concurrency */
+       /** for #MDB_RDONLY env, don't use reader locktable, caller must manage read/write concurrency */
 #define MDB_NORDLOCK           0x400000
 /** @} */
 
         *              user threads over individual OS threads need this option. Such an
         *              application must also serialize the write transactions in an OS
         *              thread, since MDB's write locking is unaware of the user threads.
+        *      <li>#MDB_NORDLOCK
+        *              Don't use the reader locktable at all. This flag is only valid
+        *              with #MDB_RDONLY. MDB will use no read locks. If other processes
+        *              may be opening the environment with write access, the callers
+        *              must manage read/write locks themselves.
         * </ul>
         * @param[in] mode The UNIX permissions to set on created files. This parameter
         * is ignored on Windows.
 
         *      environment and re-opening it with the new flags.
         */
 #define        CHANGEABLE      (MDB_NOSYNC|MDB_NOMETASYNC|MDB_MAPASYNC)
-#define        CHANGELESS      (MDB_FIXEDMAP|MDB_NOSUBDIR|MDB_RDONLY|MDB_WRITEMAP|MDB_NOTLS)
+#define        CHANGELESS      (MDB_FIXEDMAP|MDB_NOSUBDIR|MDB_RDONLY|MDB_WRITEMAP|MDB_NOTLS|MDB_NORDLOCK)
 
 int
 mdb_env_open(MDB_env *env, const char *path, unsigned int flags, mdb_mode_t mode)