diff options
| author | Victor Stinner <victor.stinner@gmail.com> | 2014-07-05 13:41:18 (GMT) |
|---|---|---|
| committer | Victor Stinner <victor.stinner@gmail.com> | 2014-07-05 13:41:18 (GMT) |
| commit | 3cadd802a45036f926b3a105c2a5807024098d27 (patch) | |
| tree | fa87636e75f24d70ff1f5b0db10da70222b980c5 | |
| parent | 8c57548f89846389a13c6ea1c7160d95aafa7110 (diff) | |
| parent | 63b21a8ffafcf40bb19a2d1be5c9fcdd487363a7 (diff) | |
| download | cpython-3cadd802a45036f926b3a105c2a5807024098d27.zip cpython-3cadd802a45036f926b3a105c2a5807024098d27.tar.gz cpython-3cadd802a45036f926b3a105c2a5807024098d27.tar.bz2 | |
(Merge 3.4) Closes #21921: Fix ResourceWarning in the asyncio examples: close
the event loop at exit. Patch written by Vajrasky Kok (I modified also the
"hello world" example using a coroutine).
| -rw-r--r-- | Doc/library/asyncio-eventloop.rst | 10 | ||||
| -rw-r--r-- | Doc/library/asyncio-task.rst | 5 |
2 files changed, 12 insertions, 3 deletions
diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst index c242fc3..268fa41 100644 --- a/Doc/library/asyncio-eventloop.rst +++ b/Doc/library/asyncio-eventloop.rst @@ -651,7 +651,10 @@ Print ``Hello World`` every two seconds, using a callback:: loop = asyncio.get_event_loop() loop.call_soon(print_and_repeat, loop) - loop.run_forever() + try: + loop.run_forever() + finally: + loop.close() .. seealso:: @@ -679,5 +682,8 @@ Register handlers for signals :py:data:`SIGINT` and :py:data:`SIGTERM`:: print("Event loop running forever, press CTRL+c to interrupt.") print("pid %s: send SIGINT or SIGTERM to exit." % os.getpid()) - loop.run_forever() + try: + loop.run_forever() + finally: + loop.close() diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst index f1894da..3544657 100644 --- a/Doc/library/asyncio-task.rst +++ b/Doc/library/asyncio-task.rst @@ -89,7 +89,10 @@ Print ``"Hello World"`` every two seconds using a coroutine:: yield from asyncio.sleep(2) loop = asyncio.get_event_loop() - loop.run_until_complete(greet_every_two_seconds()) + try: + loop.run_until_complete(greet_every_two_seconds()) + finally: + loop.close() .. seealso:: |
