From 86d400d6e81b9002e8f658492b3695cb3bb32f02 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 23 Aug 2013 20:25:46 +0530 Subject: [PATCH] dump and restore: retry after some time if rename fails --- src/calibre/db/backend.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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()