title: Clear an interrupted event loop without closing the loop
body: <p>Try the following code:</p>
  
  <pre><code>import asyncio
  
  async def fun1():
      #block
      await asyncio.sleep(10)
  
  loop = asyncio.get_event_loop()
  count = 0
  while count &lt; 10:
      count += 1
      print(count)
      try:
          fut = asyncio.ensure_future(asyncio.wait_for(fun1(),1))
          loop.run_until_complete(fut)
      except:
          pass
  </code></pre>
  
  <p>And then inspect the tasks by <code>asyncio.Task.all_tasks(loop=loop)</code>. You will see that all canceled/finished tasks are still bound to the loop. Instead of closing and getting a new loop, how can I keep the loop and only clear the finished/canceled tasks? </p>