[PATCH 4 of 5] chgserver: add an explicit gc to trigger __del__

Jun Wu quark at fb.com
Fri Mar 18 13:59:47 EDT 2016

On 03/18/2016 07:54 AM, Yuya Nishihara wrote:
> Well, I agree _exit() isn't normal, but tr.release() shouldn't rely on
> exit(). Even without chg, you can do "runcommand buggylocking" more than
> once in the same process.

I think they are 2 issues. First as chg, not calling __del__ will just surprise
people. Transaction is not the only  __del__ user. There are some other places
like {ssh,http}peer.py, atomictempfile, dirstateguard, etc. Thus this patch is
necessary, as it's hard to touch SocketServer code to change os._exit.

The second step to solve the transaction issue.

More information about the Mercurial-devel mailing list