# HG changeset patch # User Yuya Nishihara # Date 2016-05-22 02:21:11 # Node ID dda6bf8868396a55c55edb9b2d49d2c7ce2d4dd6 # Parent b439a2a268eb72267dff68e9c775502769350496 commandserver: extract _cleanup() hook to clarify chg is doing differently This makes it clear that chg needs its own way to unlink closed socket file. I made a mistake in draft patches without noting the difference. diff --git a/hgext/chgserver.py b/hgext/chgserver.py --- a/hgext/chgserver.py +++ b/hgext/chgserver.py @@ -651,11 +651,8 @@ class chgunixservice(commandserver.unixs os.symlink(os.path.basename(self.address), tempaddress) util.rename(tempaddress, self.baseaddress) - def run(self): - try: - self.server.serve_forever() - finally: - self.server.unlinksocketfile() + def _cleanup(self): + self.server.unlinksocketfile() def uisetup(ui): commandserver._servicemap['chgunix'] = chgunixservice diff --git a/mercurial/commandserver.py b/mercurial/commandserver.py --- a/mercurial/commandserver.py +++ b/mercurial/commandserver.py @@ -403,11 +403,14 @@ class unixservice(object): self.ui.status(_('listening at %s\n') % self.address) self.ui.flush() # avoid buffering of status message + def _cleanup(self): + os.unlink(self.address) + def run(self): try: self.server.serve_forever() finally: - os.unlink(self.address) + self._cleanup() _servicemap = { 'pipe': pipeservice,