From 93a0d9918d8b9038d2bd954ebd9af00be964fe53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Thu, 11 Sep 2014 23:08:51 +0200 Subject: [PATCH] Closes #34: Catch OSErrors when running Popen --- fdroidserver/common.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/fdroidserver/common.py b/fdroidserver/common.py index 1d262a25..e884568a 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -1654,8 +1654,12 @@ def FDroidPopen(commands, cwd=None, shell=False, output=True): logging.debug("> %s" % ' '.join(commands)) result = PopenResult() - p = subprocess.Popen(commands, cwd=cwd, shell=shell, env=env, - stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + p = None + try: + p = subprocess.Popen(commands, cwd=cwd, shell=shell, env=env, + stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + except OSError, e: + raise BuildException("OSError while trying to execute " + ' '.join(commands) + ': ' + str(e)) stdout_queue = Queue.Queue() stdout_reader = AsynchronousFileReader(p.stdout, stdout_queue)