]> git.sur5r.net Git - openldap/commitdiff
ITS#7455 simplify
authorHoward Chu <hyc@symas.com>
Mon, 10 Dec 2012 20:16:50 +0000 (12:16 -0800)
committerHoward Chu <hyc@symas.com>
Mon, 10 Dec 2012 20:16:50 +0000 (12:16 -0800)
Don't try to reclaim overflow pages while operating on
the freelist (for now). The circular dependencies are much like
the single-page case, but worse. Maybe look into this in the
future, but it's not absolutely necessary now.

libraries/liblmdb/mdb.c

index 81470d9fe7aceced94027f3bff86c6e59385fdba..7f6af7072104514d8fbeb02706fe244993318bdf 100644 (file)
@@ -1347,6 +1347,11 @@ none:
 
                                mdb_cursor_init(&m2, txn, FREE_DBI, NULL);
                                do {
+                                       /* bail out if we're operating on the freelist.
+                                        * TODO: get all of this working. Many circular dependencies...
+                                        */
+                                       if (mc->mc_dbi == FREE_DBI)
+                                               break;
                                        if (readit) {
                                                MDB_val key, data;
                                                MDB_oldpages *mop2;