transaction: __del__ should do nothing if the journal already exists
authormpm@selenic.com
Fri, 01 Jul 2005 09:01:07 -0800
changeset 558 0ceea19182a9
parent 557 b9fee419a1bd
child 559 bf9d55ed67f6
transaction: __del__ should do nothing if the journal already exists -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 transaction: __del__ should do nothing if the journal already exists manifest hash: c85f747ca762b7c446d306cbd7a20f8e566557fb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCxXbTywK+sNU5EO8RAvjsAKCcTSzN9OjtoAdaZgtjDs9380ia7ACfcXsx FcNESqr4nX9b97WTGszJs48= =C2sL -----END PGP SIGNATURE-----
mercurial/transaction.py
--- 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