summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-11-13 01:10:46 +0100
committerVictor Stinner <victor.stinner@gmail.com>2014-11-13 01:10:46 +0100
commit9493386594182a45ff5d4b183abba435fc4fcb17 (patch)
tree115e70eae0303c28e8d7b8256f80aeb1255a56af
parent8d41929826fc586f8dd406d14f8e8d7150a748ff (diff)
downloadtrollius-git-9493386594182a45ff5d4b183abba435fc4fcb17.tar.gz
add _get_source
-rw-r--r--asyncio/base_events.py7
-rw-r--r--asyncio/unix_events.py6
2 files changed, 10 insertions, 3 deletions
diff --git a/asyncio/base_events.py b/asyncio/base_events.py
index a0ff5ed..86a71f5 100644
--- a/asyncio/base_events.py
+++ b/asyncio/base_events.py
@@ -1139,3 +1139,10 @@ class BaseEventLoop(events.AbstractEventLoop):
break
index -= 1
return tb
+
+ def _get_source(self):
+ handle = self._current_handle
+ if handle is None or not handle._source_traceback:
+ return ''
+ tb = ''.join(traceback.format_list(handle._source_traceback))
+ return 'Handle created at (most recent call last):\n%s' % tb
diff --git a/asyncio/unix_events.py b/asyncio/unix_events.py
index 60bd1de..15f235f 100644
--- a/asyncio/unix_events.py
+++ b/asyncio/unix_events.py
@@ -355,10 +355,10 @@ class _UnixReadPipeTransport(transports.ReadTransport):
# should be called by exception handler only
if (isinstance(exc, OSError) and exc.errno == errno.EIO):
if self._loop.get_debug():
+ source = self._loop._get_source()
msg = "%r: %s" % (self, message)
- if self._loop._current_handle:
- msg += events._format_source_traceback('Handle',
- self._loop._current_handle._source_traceback)
+ if source:
+ msg += '\n' + source
else:
msg += events._format_source_traceback('Transport',
self._source_traceback)