From a7f35054df78dba802d09fe52e400b9b09b60b16 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 21 Apr 2017 09:33:37 -0500 Subject: [PATCH] Add pid file when on win32 Added pid file to start.py fixed stop.py to not error with posix error on win32 --- master/buildbot/scripts/start.py | 6 +++++- master/buildbot/scripts/stop.py | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/master/buildbot/scripts/start.py b/master/buildbot/scripts/start.py index 78ddb361818..5b3a42bdfca 100644 --- a/master/buildbot/scripts/start.py +++ b/master/buildbot/scripts/start.py @@ -114,9 +114,13 @@ def launch(config): "--python=buildbot.tac"] # ProcessProtocol just ignores all output - reactor.spawnProcess( + proc = reactor.spawnProcess( protocol.ProcessProtocol(), sys.executable, argv, env=os.environ) + if platformType == "win32": + with open("twistd.pid", "w") as pidfile: + pidfile.write("{0}".format(proc.pid)) + def start(config): if not base.isBuildmasterDir(config['basedir']): diff --git a/master/buildbot/scripts/stop.py b/master/buildbot/scripts/stop.py index 0833f8319a4..a9419be406b 100644 --- a/master/buildbot/scripts/stop.py +++ b/master/buildbot/scripts/stop.py @@ -22,6 +22,8 @@ import signal import time +from twisted.python.runtime import platformType + from buildbot.scripts import base @@ -51,7 +53,7 @@ def stop(config, signame="TERM", wait=None): try: os.kill(pid, signum) except OSError as e: - if e.errno != errno.ESRCH: + if e.errno != errno.ESRCH and platformType != "win32": raise else: if not config['quiet']: