mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 23:07:18 +03:00
serve: accept multiple values for --daemon-postexec
The next patch will add another postexec command: chdir, which can be used together with unlink. This patch changes the option type of --daemon-postexec from string to list to accept multiple commands. The error message of invalid --daemon-postexec value is also changed to include the actual invalid value.
This commit is contained in:
parent
cc59112ca7
commit
704e54e1c7
@ -827,16 +827,17 @@ def service(opts, parentfn=None, initfn=None, runfn=None, logfile=None,
|
||||
writepid(util.getpid())
|
||||
|
||||
if opts['daemon_postexec']:
|
||||
inst = opts['daemon_postexec']
|
||||
try:
|
||||
os.setsid()
|
||||
except AttributeError:
|
||||
pass
|
||||
if inst.startswith('unlink:'):
|
||||
lockpath = inst[7:]
|
||||
os.unlink(lockpath)
|
||||
elif inst != 'none':
|
||||
raise error.Abort(_('invalid value for --daemon-postexec'))
|
||||
for inst in opts['daemon_postexec']:
|
||||
if inst.startswith('unlink:'):
|
||||
lockpath = inst[7:]
|
||||
os.unlink(lockpath)
|
||||
elif inst != 'none':
|
||||
raise error.Abort(_('invalid value for --daemon-postexec: %s')
|
||||
% inst)
|
||||
util.hidewindow()
|
||||
sys.stdout.flush()
|
||||
sys.stderr.flush()
|
||||
|
@ -6320,7 +6320,7 @@ def root(ui, repo):
|
||||
[('A', 'accesslog', '', _('name of access log file to write to'),
|
||||
_('FILE')),
|
||||
('d', 'daemon', None, _('run server in background')),
|
||||
('', 'daemon-postexec', '', _('used internally by daemon mode')),
|
||||
('', 'daemon-postexec', [], _('used internally by daemon mode')),
|
||||
('E', 'errorlog', '', _('name of error log file to write to'), _('FILE')),
|
||||
# use string type, then we can check if something was passed
|
||||
('p', 'port', '', _('port to listen on (default: 8000)'), _('PORT')),
|
||||
|
@ -38,7 +38,7 @@ if __name__ == '__main__':
|
||||
parser.add_option('-f', '--foreground', dest='foreground',
|
||||
action='store_true',
|
||||
help='do not start the HTTP server in the background')
|
||||
parser.add_option('--daemon-postexec')
|
||||
parser.add_option('--daemon-postexec', action='append')
|
||||
|
||||
(options, args) = parser.parse_args()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user