diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2014-11-13 01:10:46 +0100 |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2014-11-13 01:10:46 +0100 |
commit | 2f3d5fac73b9e2e1b5c63f275bb5d3c228033afd (patch) | |
tree | 115e70eae0303c28e8d7b8256f80aeb1255a56af | |
parent | 1e128bef0d3fdcf50c00435e9d4da433054ad359 (diff) | |
download | trollius-2f3d5fac73b9e2e1b5c63f275bb5d3c228033afd.tar.gz |
add _get_source
-rw-r--r-- | asyncio/base_events.py | 7 | ||||
-rw-r--r-- | asyncio/unix_events.py | 6 |
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) |