]> git.sur5r.net Git - openldap/blobdiff - libraries/liblmdb/mdb.c
ITS#8582 keep mutex at end of struct
[openldap] / libraries / liblmdb / mdb.c
index ec2488a89a535c99a936e8e51b8e4843fc8cdfe0..ac381d9e2b8cb264f0e9aff3d1f45530101ec79b 100644 (file)
@@ -809,6 +809,16 @@ typedef struct MDB_txbody {
        uint32_t        mtb_magic;
                /** Format of this lock file. Must be set to #MDB_LOCK_FORMAT. */
        uint32_t        mtb_format;
+               /**     The ID of the last transaction committed to the database.
+                *      This is recorded here only for convenience; the value can always
+                *      be determined by reading the main database meta pages.
+                */
+       volatile txnid_t                mtb_txnid;
+               /** The number of slots that have been used in the reader table.
+                *      This always records the maximum count, it is not decremented
+                *      when readers release their slots.
+                */
+       volatile unsigned       mtb_numreaders;
 #if defined(_WIN32) || defined(MDB_USE_POSIX_SEM)
        char    mtb_rmname[MNAME_LEN];
 #elif defined(MDB_USE_SYSV_SEM)
@@ -820,16 +830,6 @@ typedef struct MDB_txbody {
                 */
        mdb_mutex_t     mtb_rmutex;
 #endif
-               /**     The ID of the last transaction committed to the database.
-                *      This is recorded here only for convenience; the value can always
-                *      be determined by reading the main database meta pages.
-                */
-       volatile txnid_t                mtb_txnid;
-               /** The number of slots that have been used in the reader table.
-                *      This always records the maximum count, it is not decremented
-                *      when readers release their slots.
-                */
-       volatile unsigned       mtb_numreaders;
 } MDB_txbody;
 
        /** The actual reader table definition. */