# HG changeset patch # User Jun Wu # Date 1456162202 0 # Node ID 213c8cf02c492ae09295f2ea169f097c7ff230bd # Parent 7623ba92af7246ed6f360329c9f2bb22bf7d1cf2 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. diff -r 7623ba92af72 -r 213c8cf02c49 mercurial/cmdutil.py --- 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()