diff options
Diffstat (limited to 'lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/scripts/stop.py')
-rw-r--r-- | lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/scripts/stop.py | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/scripts/stop.py b/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/scripts/stop.py deleted file mode 100644 index 69020a3b..00000000 --- a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/scripts/stop.py +++ /dev/null @@ -1,79 +0,0 @@ -# This file is part of Buildbot. Buildbot is free software: you can -# redistribute it and/or modify it under the terms of the GNU General Public -# License as published by the Free Software Foundation, version 2. -# -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., 51 -# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Copyright Buildbot Team Members - -from __future__ import with_statement - -import time -import os -import errno -import signal -from buildbot.scripts import base - -def stop(config, signame="TERM", wait=False): - basedir = config['basedir'] - quiet = config['quiet'] - - if config['clean']: - signame = 'USR1' - - if not base.isBuildmasterDir(config['basedir']): - return 1 - - pidfile = os.path.join(basedir, 'twistd.pid') - try: - with open(pidfile, "rt") as f: - pid = int(f.read().strip()) - except: - if not config['quiet']: - print "buildmaster not running" - return 0 - - signum = getattr(signal, "SIG"+signame) - try: - os.kill(pid, signum) - except OSError, e: - if e.errno != errno.ESRCH: - raise - else: - if not config['quiet']: - print "buildmaster not running" - try: - os.unlink(pidfile) - except: - pass - return 0 - - if not wait: - if not quiet: - print "sent SIG%s to process" % signame - return 0 - - time.sleep(0.1) - - # poll once per second until twistd.pid goes away, up to 10 seconds, - # unless we're doing a clean stop, in which case wait forever - count = 0 - while count < 10 or config['clean']: - try: - os.kill(pid, 0) - except OSError: - if not quiet: - print "buildbot process %d is dead" % pid - return 0 - time.sleep(1) - count += 1 - if not quiet: - print "never saw process go away" - return 1 |