summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2013-12-03 11:33:56 -0800
committerGuido van Rossum <guido@python.org>2013-12-03 11:33:56 -0800
commit02be63c8f45e99429bc73a40fc173669a16c1c11 (patch)
tree75f1079c7cd05356c7ff0ce03ebd1d62d41f8f62 /examples
parent53af8758c4db5adfd82fad0e60d732ae07c5dbdf (diff)
downloadtrollius-02be63c8f45e99429bc73a40fc173669a16c1c11.tar.gz
Use try/finally to close loop in examples. Add --iocp to fetch3.py.
Diffstat (limited to 'examples')
-rw-r--r--examples/child_process.py6
-rw-r--r--examples/fetch0.py5
-rw-r--r--examples/fetch1.py5
-rw-r--r--examples/fetch2.py5
-rw-r--r--examples/fetch3.py14
-rw-r--r--examples/sink.py6
-rw-r--r--examples/source.py6
-rw-r--r--examples/source1.py6
8 files changed, 39 insertions, 14 deletions
diff --git a/examples/child_process.py b/examples/child_process.py
index 8a7ed0e..4410414 100644
--- a/examples/child_process.py
+++ b/examples/child_process.py
@@ -124,5 +124,7 @@ if __name__ == '__main__':
asyncio.set_event_loop(loop)
else:
loop = asyncio.get_event_loop()
- loop.run_until_complete(main(loop))
- loop.close()
+ try:
+ loop.run_until_complete(main(loop))
+ finally:
+ loop.close()
diff --git a/examples/fetch0.py b/examples/fetch0.py
index ac4d5d9..180fcf2 100644
--- a/examples/fetch0.py
+++ b/examples/fetch0.py
@@ -24,7 +24,10 @@ def fetch():
def main():
loop = get_event_loop()
- body = loop.run_until_complete(fetch())
+ try:
+ body = loop.run_until_complete(fetch())
+ finally:
+ loop.close()
print(body.decode('latin-1'), end='')
diff --git a/examples/fetch1.py b/examples/fetch1.py
index 6d99262..8dbb6e4 100644
--- a/examples/fetch1.py
+++ b/examples/fetch1.py
@@ -67,7 +67,10 @@ def fetch(url, verbose=True):
def main():
loop = get_event_loop()
- body = loop.run_until_complete(fetch(sys.argv[1], '-v' in sys.argv))
+ try:
+ body = loop.run_until_complete(fetch(sys.argv[1], '-v' in sys.argv))
+ finally:
+ loop.close()
print(body.decode('latin-1'), end='')
diff --git a/examples/fetch2.py b/examples/fetch2.py
index 0899123..7617b59 100644
--- a/examples/fetch2.py
+++ b/examples/fetch2.py
@@ -130,7 +130,10 @@ def fetch(url, verbose=True):
def main():
loop = get_event_loop()
- body = loop.run_until_complete(fetch(sys.argv[1], '-v' in sys.argv))
+ try:
+ body = loop.run_until_complete(fetch(sys.argv[1], '-v' in sys.argv))
+ finally:
+ loop.close()
sys.stdout.buffer.write(body)
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)
diff --git a/examples/sink.py b/examples/sink.py
index 4b223fd..d4866e2 100644
--- a/examples/sink.py
+++ b/examples/sink.py
@@ -84,8 +84,10 @@ def main():
set_event_loop(loop)
else:
loop = get_event_loop()
- loop.run_until_complete(start(loop, args.host, args.port))
- loop.close()
+ try:
+ loop.run_until_complete(start(loop, args.host, args.port))
+ finally:
+ loop.close()
if __name__ == '__main__':
diff --git a/examples/source.py b/examples/source.py
index 9aff8c1..7fd11fb 100644
--- a/examples/source.py
+++ b/examples/source.py
@@ -90,8 +90,10 @@ def main():
set_event_loop(loop)
else:
loop = get_event_loop()
- loop.run_until_complete(start(loop, args.host, args.port))
- loop.close()
+ try:
+ loop.run_until_complete(start(loop, args.host, args.port))
+ finally:
+ loop.close()
if __name__ == '__main__':
diff --git a/examples/source1.py b/examples/source1.py
index b8f8979..6802e96 100644
--- a/examples/source1.py
+++ b/examples/source1.py
@@ -88,8 +88,10 @@ def main():
set_event_loop(loop)
else:
loop = get_event_loop()
- loop.run_until_complete(start(loop, args))
- loop.close()
+ try:
+ loop.run_until_complete(start(loop, args))
+ finally:
+ loop.close()
if __name__ == '__main__':