[entropy.server] close_repositories() is called by __del__, so make sure it's fault tolerant

This commit is contained in:
Fabio Erculiani
2011-06-28 11:09:02 +02:00
parent aa2c842324
commit 5358a27dfa
+9 -6
View File
@@ -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()