diff -r 5e4ea92f9a9b Doc/library/asyncio.rst --- a/Doc/library/asyncio.rst Mon Dec 02 12:41:54 2013 +0100 +++ b/Doc/library/asyncio.rst Mon Dec 02 12:43:35 2013 +0100 @@ -702,9 +702,9 @@ Print ``Hello World`` every two seconds, print('Hello World') loop.call_later(2, print_and_repeat, loop) - loop = asyncio.get_event_loop() - print_and_repeat(loop) - loop.run_forever() + with asyncio.get_event_loop() as loop: + print_and_repeat(loop) + loop.run_forever() Hello World (callback) @@ -720,8 +720,8 @@ Print ``Hello World`` every two seconds, print('Hello World') yield from asyncio.sleep(2) - loop = asyncio.get_event_loop() - loop.run_until_complete(greet_every_two_seconds()) + with asyncio.get_event_loop() as loop: + loop.run_until_complete(greet_every_two_seconds()) Echo server diff -r 5e4ea92f9a9b Lib/asyncio/base_events.py --- a/Lib/asyncio/base_events.py Mon Dec 02 12:41:54 2013 +0100 +++ b/Lib/asyncio/base_events.py Mon Dec 02 12:43:35 2013 +0100 @@ -97,6 +97,12 @@ class BaseEventLoop(events.AbstractEvent self._internal_fds = 0 self._running = False + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, traceback): + self.close() + def _make_socket_transport(self, sock, protocol, waiter=None, *, extra=None, server=None): """Create socket transport."""