Index: doc/papers/concurrency/examples/ProdCons.py
===================================================================
--- doc/papers/concurrency/examples/ProdCons.py	(revision 1e5d0f0c89a1f3d283c41c6a75149d8ff0ece478)
+++ doc/papers/concurrency/examples/ProdCons.py	(revision 5c9b20cdbd8f11c2e3b1817c4e65a16c5f1e9a65)
@@ -1,40 +1,43 @@
 def Prod( N ):
-	cons = (yield)              # get cons
-	yield                       # resume scheduler
+	cons = yield				# get cons
+	yield						# resume scheduler
 	for i in range( N ):
 		print( "prod" )
-		yield cons              # execute next
+		yield cons				# execute next
 	print( "end", "prod" )
 
 def Cons( N ):
-	prod = (yield)              # get prod
-	yield                       # resume scheduler
+	prod = yield				# get prod
+	yield						# resume scheduler
 	for i in range( N ):
 		print( "cons" )
-		yield prod              # execute next
+		yield prod				# execute next
 	print( "end", "cons" )
 
 def Scheduler():
-	n = (yield)                 # starting coroutine
-	while True:
-		n = next( n )           # schedule coroutine
+	n = yield					# starting coroutine
+	try:
+		while True:
+			n = next( n )		# schedule coroutine
+	except StopIteration:
+		pass
 
 prod = Prod( 5 )
 cons = Cons( 5 )
-next( prod )                    # prime
-prod.send( cons )               # send cons
-next( cons )                    # prime
-cons.send( prod )               # send prod
+next( prod )					# prime
+prod.send( cons )				# send cons
+next( cons )					# prime
+cons.send( prod )				# send prod
 
 s = Scheduler();
-next( s )                       # prime
+next( s )						# prime
 try:
 	s.send( prod )				# start cycle
-except StopIteration:
-	print( "scheduler stop" )
+except StopIteration:			# scheduler stopped
+	pass
 print( "stop" )
 
 # Local Variables: #
 # tab-width: 4 #
-# compile-command: "python3.5 ProdCons.py" #
+# compile-command: "python3.7 ProdCons.py" #
 # End: #
