]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb2/tdb1_lock.c
tdb2: fix bogus error from tdb_unlockall() after fork in tdb1 backend.
[ccan] / ccan / tdb2 / tdb1_lock.c
index e59874fb2f01db911ac3b698f541e816ec0be7ef..5cc0ad656729c51877aebf5f1fe7489bb11b972a 100644 (file)
@@ -384,15 +384,15 @@ int tdb1_allrecord_unlock(struct tdb_context *tdb, int ltype)
                return 0;
        }
 
+       tdb->file->allrecord_lock.count = 0;
+       tdb->file->allrecord_lock.ltype = 0;
+
        if (tdb1_brunlock(tdb, ltype, TDB1_FREELIST_TOP, 0)) {
                tdb_logerr(tdb, tdb->last_error, TDB_LOG_ERROR,
                           "tdb1_unlockall failed (%s)", strerror(errno));
                return -1;
        }
 
-       tdb->file->allrecord_lock.count = 0;
-       tdb->file->allrecord_lock.ltype = 0;
-
        return 0;
 }