Bug 894 - ./waf --run error message upon segfault
This commit is contained in:
15
wutils.py
15
wutils.py
@@ -147,7 +147,20 @@ def run_argv(argv, env, os_env=None, cwd=None, force_no_valgrind=False):
|
||||
except WindowsError, ex:
|
||||
raise Utils.WafError("Command %s raised exception %s" % (argv, ex))
|
||||
if retval:
|
||||
raise Utils.WafError("Command %s exited with code %i" % (argv, retval))
|
||||
signame = None
|
||||
if retval < 0: # signal?
|
||||
import signal
|
||||
for name, val in vars(signal).iteritems():
|
||||
if len(name) > 3 and name[:3] == 'SIG' and name[3] != '_':
|
||||
if val == -retval:
|
||||
signame = name
|
||||
break
|
||||
if signame:
|
||||
raise Utils.WafError("Command %s terminated with signal %s."
|
||||
" Run it under a debugger to get more information "
|
||||
"(./waf --run <program> --command-template=\"gdb --args %%s <args>\")." % (argv, signame))
|
||||
else:
|
||||
raise Utils.WafError("Command %s exited with code %i" % (argv, retval))
|
||||
return retval
|
||||
|
||||
def get_run_program(program_string, command_template=None):
|
||||
|
||||
Reference in New Issue
Block a user