From 5358a27dfa144f78ebcd954bf78e40ab89df302d Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Tue, 28 Jun 2011 11:09:02 +0200 Subject: [PATCH] [entropy.server] close_repositories() is called by __del__, so make sure it's fault tolerant --- libraries/entropy/server/interfaces/main.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/libraries/entropy/server/interfaces/main.py b/libraries/entropy/server/interfaces/main.py index 52626f1c4..ac9ddf7af 100644 --- a/libraries/entropy/server/interfaces/main.py +++ b/libraries/entropy/server/interfaces/main.py @@ -3798,12 +3798,15 @@ class Server(Client): return 0 def close_repositories(self, mask_clear = False): - for item in self._server_dbcache.keys(): - try: - self._server_dbcache[item].close() - except ProgrammingError: # already closed? - pass - self._server_dbcache.clear() + + srv_dbcache = self._server_dbcache + if srv_dbcache is not None: + for item in srv_dbcache.keys(): + try: + srv_dbcache[item].close() + except ProgrammingError: # already closed? + pass + srv_dbcache.clear() if mask_clear: self._settings.clear()