diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2014-07-08 10:43:24 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2014-07-08 10:43:24 (GMT) |
commit | 4532c43e16c8d40101759f8ddd0e5631c3626e34 (patch) | |
tree | aa3488fc5d181606adf0f08b0da140a4c8fc18ec /Lib/asyncio/tasks.py | |
parent | de08cb60fdf40c4a684bb4c90b5186f9bf89b6d7 (diff) | |
parent | 530ef2f0693d50435a8d62ea84d3fdcbe662d8aa (diff) | |
download | cpython-4532c43e16c8d40101759f8ddd0e5631c3626e34.zip cpython-4532c43e16c8d40101759f8ddd0e5631c3626e34.tar.gz cpython-4532c43e16c8d40101759f8ddd0e5631c3626e34.tar.bz2 |
Merge 3.4
asyncio: sync with Tulip
- Tulip issue 185: Add a create_task() method to event loops. The create_task()
method can be overriden in custom event loop to implement their own task
class. For example, greenio and Pulsar projects use their own task class. The
create_task() method is now preferred over creating directly task using the
Task class.
- tests: fix a warning
- fix typo in the name of a test function
- Update AbstractEventLoop: add new event loop methods; update also the unit test
Update asyncio documentation
- Document the new create_task() method
- "Hide" the Task class: point to the create_task() method for interoperability
- Rewrite the documentation of the Task class
- Document the "Pending task destroyed"
- Update output in debug mode of examples in the dev section
- Replace Task() with create_task() in examples
Diffstat (limited to 'Lib/asyncio/tasks.py')
-rw-r--r-- | Lib/asyncio/tasks.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py index 8c7217b..befc296 100644 --- a/Lib/asyncio/tasks.py +++ b/Lib/asyncio/tasks.py @@ -505,7 +505,9 @@ def async(coro_or_future, *, loop=None): raise ValueError('loop argument must agree with Future') return coro_or_future elif coroutines.iscoroutine(coro_or_future): - task = Task(coro_or_future, loop=loop) + if loop is None: + loop = events.get_event_loop() + task = loop.create_task(coro_or_future) if task._source_traceback: del task._source_traceback[-1] return task |