mirror of
https://github.com/python/cpython.git
synced 2025-07-08 03:45:36 +00:00
asyncio: sync with Tulip
* _UnixSubprocessTransport: fix file mode of stdin. Open stdin in write mode, not in read mode * Examples: close the event loop at exit * More reliable CoroWrapper.__del__. If the constructor is interrupted by KeyboardInterrupt or the coroutine objet is destroyed lately, some the _source_traceback attribute doesn't exist anymore. * repr(Task): include also the future the task is waiting for
This commit is contained in:
parent
e10920f0d1
commit
2dba23af71
4 changed files with 23 additions and 7 deletions
|
@ -111,12 +111,14 @@ class CoroWrapper:
|
|||
frame = getattr(gen, 'gi_frame', None)
|
||||
if frame is not None and frame.f_lasti == -1:
|
||||
func = events._format_callback(self.func, ())
|
||||
tb = ''.join(traceback.format_list(self._source_traceback))
|
||||
message = ('Coroutine %s was never yielded from\n'
|
||||
'Coroutine object created at (most recent call last):\n'
|
||||
'%s'
|
||||
% (func, tb.rstrip()))
|
||||
logger.error(message)
|
||||
msg = 'Coroutine %s was never yielded from' % func
|
||||
tb = getattr(self, '_source_traceback', ())
|
||||
if tb:
|
||||
tb = ''.join(traceback.format_list(tb))
|
||||
msg += ('\nCoroutine object created at '
|
||||
'(most recent call last):\n')
|
||||
msg += tb.rstrip()
|
||||
logger.error(msg)
|
||||
|
||||
|
||||
def coroutine(func):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue