> def _exitfunc (self): > for db in ObjectDatabase._instances: > db.close_database() > > atexit.register(_exitfunc, ()) > > where ObjectDatabase is a class that manages a connection to a ZODB > database; ObjectDatabase._instances is a class attribute that, > presumably, tracks existing ObjectDatabase instances. So we don't ever > worry about explicitly closing our ZODB. I guess the problem boils down to the fact that I'm surprised that ZODB databases don't self-close on deletion. I know it's not really a quixote question, but I figured I'd ask anyway. =) On a related topic -- how do you manage concurrent accesses to ZODB databases in your main app? --david