Add a new --debug-pids option.

This makes the helpers.* log functions prepend getpid() to each line, so you
can see which pid did what.
This commit is contained in:
Avery Pennarun 2010-11-22 01:50:46 -08:00
commit 501b534308
3 changed files with 8 additions and 2 deletions

View file

@ -35,8 +35,10 @@ def mkdirp(d, mode=None):
def log_(s): def log_(s):
sys.stdout.flush() sys.stdout.flush()
if vars.DEBUG_PIDS:
sys.stderr.write('%d %s' % (os.getpid(), s))
else:
sys.stderr.write(s) sys.stderr.write(s)
#sys.stderr.write('%d %s' % (os.getpid(), s))
sys.stderr.flush() sys.stderr.flush()

View file

@ -12,6 +12,7 @@ x,xtrace print commands as they are executed (variables expanded)
k,keep-going keep going as long as possible even if some targets fail k,keep-going keep going as long as possible even if some targets fail
shuffle randomize the build order to find dependency bugs shuffle randomize the build order to find dependency bugs
debug-locks print messages about file locking (useful for debugging) debug-locks print messages about file locking (useful for debugging)
debug-pids print process ids as part of log messages (useful for debugging)
""" """
o = options.Options('redo', optspec) o = options.Options('redo', optspec)
(opt, flags, extra) = o.parse(sys.argv[1:]) (opt, flags, extra) = o.parse(sys.argv[1:])
@ -30,6 +31,8 @@ if opt.shuffle:
os.environ['REDO_SHUFFLE'] = '1' os.environ['REDO_SHUFFLE'] = '1'
if opt.debug_locks: if opt.debug_locks:
os.environ['REDO_DEBUG_LOCKS'] = '1' os.environ['REDO_DEBUG_LOCKS'] = '1'
if opt.debug_pids:
os.environ['REDO_DEBUG_PIDS'] = '1'
is_root = not os.environ.get('REDO', '') is_root = not os.environ.get('REDO', '')

View file

@ -6,6 +6,7 @@ TARGET = os.environ.get('REDO_TARGET', '')
DEPTH = os.environ.get('REDO_DEPTH', '') DEPTH = os.environ.get('REDO_DEPTH', '')
DEBUG = atoi.atoi(os.environ.get('REDO_DEBUG', '')) DEBUG = atoi.atoi(os.environ.get('REDO_DEBUG', ''))
DEBUG_LOCKS = os.environ.get('REDO_DEBUG_LOCKS', '') and 1 or 0 DEBUG_LOCKS = os.environ.get('REDO_DEBUG_LOCKS', '') and 1 or 0
DEBUG_PIDS = os.environ.get('REDO_DEBUG_PIDS', '') and 1 or 0
VERBOSE = os.environ.get('REDO_VERBOSE', '') and 1 or 0 VERBOSE = os.environ.get('REDO_VERBOSE', '') and 1 or 0
XTRACE = os.environ.get('REDO_XTRACE', '') and 1 or 0 XTRACE = os.environ.get('REDO_XTRACE', '') and 1 or 0
KEEP_GOING = os.environ.get('REDO_KEEP_GOING', '') and 1 or 0 KEEP_GOING = os.environ.get('REDO_KEEP_GOING', '') and 1 or 0