mercurial/cmdutil.py
changeset 10012 2bfe1a23dafa
parent 9975 2e67734e1453
child 10024 2b630e4c8f2f
--- a/mercurial/cmdutil.py	Fri Dec 04 17:43:01 2009 +0100
+++ b/mercurial/cmdutil.py	Tue Dec 01 11:28:31 2009 +0900
@@ -558,7 +558,7 @@
     return errors
 
 def service(opts, parentfn=None, initfn=None, runfn=None, logfile=None,
-    runargs=None):
+    runargs=None, appendpid=False):
     '''Run a command as a service.'''
 
     if opts['daemon'] and not opts['daemon_pipefds']:
@@ -588,7 +588,8 @@
         initfn()
 
     if opts['pid_file']:
-        fp = open(opts['pid_file'], 'w')
+        mode = appendpid and 'a' or 'w'
+        fp = open(opts['pid_file'], mode)
         fp.write(str(os.getpid()) + '\n')
         fp.close()