From 02be63c8f45e99429bc73a40fc173669a16c1c11 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 3 Dec 2013 11:33:56 -0800 Subject: Use try/finally to close loop in examples. Add --iocp to fetch3.py. --- examples/fetch3.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'examples/fetch3.py') diff --git a/examples/fetch3.py b/examples/fetch3.py index fa9ebb0..780222b 100644 --- a/examples/fetch3.py +++ b/examples/fetch3.py @@ -1,7 +1,7 @@ """Fetch one URL and write its content to stdout. This version adds a primitive connection pool, redirect following and -chunked transfer-encoding. +chunked transfer-encoding. It also supports a --iocp flag. """ import sys @@ -209,8 +209,16 @@ def fetch(url, verbose=True, max_redirect=10): def main(): - loop = get_event_loop() - body = loop.run_until_complete(fetch(sys.argv[1], '-v' in sys.argv)) + if '--iocp' in sys.argv: + from asyncio.windows_events import ProactorEventLoop + loop = ProactorEventLoop() + set_event_loop(loop) + else: + loop = get_event_loop() + try: + body = loop.run_until_complete(fetch(sys.argv[1], '-v' in sys.argv)) + finally: + loop.close() sys.stdout.buffer.write(body) -- cgit v1.2.1