diff --git a/wutils.py b/wutils.py index 094c82322..9a6c9187c 100644 --- a/wutils.py +++ b/wutils.py @@ -136,7 +136,15 @@ def run_argv(argv, env, os_env=None, cwd=None, force_no_valgrind=False): if retval == 0 and error: retval = 1 else: - retval = subprocess.Popen(argv, env=proc_env, cwd=cwd).wait() + try: + WindowsError + except NameError: + retval = subprocess.Popen(argv, env=proc_env, cwd=cwd).wait() + else: + try: + retval = subprocess.Popen(argv, env=proc_env, cwd=cwd).wait() + 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)) return retval