mercurial/transaction.py
changeset 558 0ceea19182a9
parent 515 03f27b1381f9
child 573 fbfbd4e506c3
--- a/mercurial/transaction.py
+++ b/mercurial/transaction.py
@@ -31,9 +31,11 @@ class transaction:
         self.file = open(self.journal, "w")
 
     def __del__(self):
-        if self.entries: self.abort()
-        try: os.unlink(self.journal)
-        except: pass
+        if self.journal:
+            if self.entries: self.abort()
+            self.file.close()
+            try: os.unlink(self.journal)
+            except: pass
 
     def add(self, file, offset):
         if file in self.map: return