Handle KeyboardInterrupt with less annoying spew to stderr.

This commit is contained in:
Avery Pennarun 2010-11-13 02:09:42 -08:00
commit 3de384497d
3 changed files with 38 additions and 29 deletions

View file

@ -48,6 +48,7 @@ if not vars.TARGET:
err('redo-ifchange: error: must be run from inside a .do\n')
sys.exit(100)
try:
want_build = []
for t in sys.argv[1:]:
mkdirp('%s/.redo' % vars.BASE)
@ -57,3 +58,5 @@ for t in sys.argv[1:]:
if want_build:
os.execvp('redo', ['redo', '--'] + want_build)
except KeyboardInterrupt:
sys.exit(200)

View file

@ -8,6 +8,7 @@ if not vars.TARGET:
err('redo-ifcreate: error: must be run from inside a .do\n')
sys.exit(100)
try:
for t in sys.argv[1:]:
mkdirp('%s/.redo' % vars.BASE)
if os.path.exists(t):
@ -15,3 +16,5 @@ for t in sys.argv[1:]:
sys.exit(1)
else:
add_dep(vars.TARGET, 'c', t)
except KeyboardInterrupt:
sys.exit(200)

View file

@ -118,6 +118,7 @@ if not vars.DEPTH:
dirnames = [os.path.dirname(p) for p in exenames]
os.environ['PATH'] = ':'.join(dirnames) + ':' + os.environ['PATH']
try:
retcode = 0
startdir = os.getcwd()
for t in targets:
@ -132,3 +133,5 @@ for t in targets:
err('%s\n' % e)
retcode = 1
sys.exit(retcode)
except KeyboardInterrupt:
sys.exit(200)