]> git.sur5r.net Git - openldap/commitdiff
ITS#7594 De-init other subcursors in page_touch
authorHoward Chu <hyc@symas.com>
Thu, 23 May 2013 15:13:08 +0000 (08:13 -0700)
committerHoward Chu <hyc@symas.com>
Thu, 23 May 2013 19:17:21 +0000 (12:17 -0700)
libraries/liblmdb/mdb.c

index 5558875872163b2ced0fcf796ed486235316eaca..22c5a5c526ab321911d413b97afa1b5d4703a581 100644 (file)
@@ -1636,6 +1636,8 @@ finish:
                                if (m2 == mc || m2->mc_snum < mc->mc_snum) continue;
                                if (m2->mc_pg[mc->mc_top] == mc->mc_pg[mc->mc_top]) {
                                        m2->mc_pg[mc->mc_top] = mp;
+                                       if (mc->mc_db->md_flags & MDB_DUPSORT)
+                                               m2->mc_xcursor->mx_cursor.mc_flags &= ~C_INITIALIZED;
                                }
                        }
                }