mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
Work around bug in Python's inspect module -- catch an IndexError exception
if the source-code lookup fails. Signed-off-by: Ewan Mellor <ewan@xensource.com>
This commit is contained in:
1 parent
c95d97855e
commit
716d0617c9
1 file changed
+12
@@ -59,6 +59,18 @@ if 'TRACE' not in logging.__dict__:
|
||||
return filename, frame[2]
|
||||
logging.Logger.findCaller = findCaller
|
||||
|
||||
# Work around a bug in Python's inspect module: findsource is supposed to
|
||||
# raise IOError if it fails, with other functions in that module coping
|
||||
# with that, but some people are seeing IndexError raised from there.
|
||||
if hasattr(inspect, 'findsource'):
|
||||
real_findsource = getattr(inspect, 'findsource')
|
||||
def findsource(*args, **kwargs):
|
||||
try:
|
||||
return real_findsource(*args, **kwargs)
|
||||
except IndexError, exn:
|
||||
raise IOError(exn)
|
||||
inspect.findsource = findsource
|
||||
|
||||
|
||||
log = logging.getLogger("xend")
|
||||
|
||||
|
||||