hgext/chgserver.py
changeset 28553 5346e9b910fc
parent 28537 881d027d3935
child 28586 82cee85d5274
--- a/hgext/chgserver.py	Tue Mar 15 10:36:02 2016 +0000
+++ b/hgext/chgserver.py	Mon Mar 14 23:08:03 2016 +0000
@@ -42,6 +42,7 @@
 
 import SocketServer
 import errno
+import gc
 import inspect
 import os
 import re
@@ -569,6 +570,9 @@
                 cerr = commandserver.channeledoutput(self.wfile, 'e')
             traceback.print_exc(file=cerr)
             raise
+        finally:
+            # trigger __del__ since ForkingMixIn uses os._exit
+            gc.collect()
 
 def _tempaddress(address):
     return '%s.%d.tmp' % (address, os.getpid())