Mercurial > hg
changeset 28195:213c8cf02c49
serve: allow --daemon-postexec to be 'unlink:path' or 'none'
This patch changes the format of value of --daemon-postexec. Now it can be
either to unlink a file, or a no-op. The following patch will make chg to
use the no-op option.
author | Jun Wu <quark@fb.com> |
---|---|
date | Mon, 22 Feb 2016 17:30:02 +0000 |
parents | 7623ba92af72 |
children | 87de4a22e8c2 |
files | mercurial/cmdutil.py |
diffstat | 1 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Mon Feb 22 16:59:08 2016 +0000 +++ b/mercurial/cmdutil.py Mon Feb 22 17:30:02 2016 +0000 @@ -765,7 +765,7 @@ try: if not runargs: runargs = util.hgcmd() + sys.argv[1:] - runargs.append('--daemon-postexec=%s' % lockpath) + runargs.append('--daemon-postexec=unlink:%s' % lockpath) # Don't pass --cwd to the child process, because we've already # changed directory. for i in xrange(1, len(runargs)): @@ -799,12 +799,16 @@ writepid(util.getpid()) if opts['daemon_postexec']: - lockpath = opts['daemon_postexec'] + inst = opts['daemon_postexec'] try: os.setsid() except AttributeError: pass - os.unlink(lockpath) + if inst.startswith('unlink:'): + lockpath = inst[7:] + os.unlink(lockpath) + elif inst != 'none': + raise error.Abort(_('invalid value for --daemon-postexec')) util.hidewindow() sys.stdout.flush() sys.stderr.flush()