process: handle OSErrors other than file not found

(Bitbake rev: 7d80a5355cb540aae8d3082c1efebb72da4f93c6)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
Chris Larson
2010-12-15 15:13:07 -07:00
committed by Richard Purdie
parent 3d51fd2b7d
commit ddf2c687d8

View File

@@ -10,8 +10,9 @@ def subprocess_setup():
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
class CmdError(RuntimeError):
def __init__(self, command):
def __init__(self, command, message=None):
self.command = command
self.message = message
def __str__(self):
if not isinstance(self.command, basestring):
@@ -19,7 +20,10 @@ class CmdError(RuntimeError):
else:
cmd = self.command
return "Execution of '%s' failed" % cmd
msg = "Execution of '%s' failed" % cmd
if self.message:
msg += ': %s' % self.message
return msg
class NotFoundError(CmdError):
def __str__(self):
@@ -94,7 +98,7 @@ def run(cmd, input=None, **options):
if exc.errno == 2:
raise NotFoundError(cmd)
else:
raise
raise CmdError(cmd, exc)
if log:
stdout, stderr = _logged_communicate(pipe, log, input)