--- SessionFileStore.bak Fri Jan 10 21:03:48 2003 +++ SessionFileStore.py Wed Feb 5 14:12:38 2003 @@ -48,12 +48,16 @@ file = open(filename) except IOError: raise KeyError, key - try: - item = self.decoder()(file) - except: - # Corrupt data; pretend it doesn't exist + try: + try: + item = self.decoder()(file) + finally: + file.close() + except: # session can't be unpickled + os.remove(filename) # remove session file + print "Error loading session from disk:", key + self.application().handleException() raise KeyError, key - file.close() finally: self._lock.release() return item