diff --git a/src/calibre/db/backend.py b/src/calibre/db/backend.py index 2d6f88b405..fed5f002e8 100644 --- a/src/calibre/db/backend.py +++ b/src/calibre/db/backend.py @@ -1003,7 +1003,14 @@ class DB(object): self.close() try: - atomic_rename(tmpdb, self.dbpath) + try: + atomic_rename(tmpdb, self.dbpath) + except: + import gc + for i in xrange(3): + gc.collect() + time.sleep(5) + atomic_rename(tmpdb, self.dbpath) finally: self.reopen()