title: understanding asyncio already running forever loop and pending tasks
body: <p>I'm having problems  understanding how to pend a new task to an already running event loop. </p>
  
  <p>This code:</p>
  
  <pre><code>import asyncio
  import logging
  
  @asyncio.coroutine
  def blocking(cmd):
      while True:
          logging.info("in blocking coroutine")
          yield from asyncio.sleep(0.01)
          print("ping")
  
  def main():
      logging.info("in main funciton")
      loop = asyncio.get_event_loop()
      logging.info("new loop created")
      logging.info("loop running forever")
      loop.run_forever()
      asyncio.async(blocking("ls"))
  
  logging.basicConfig(level = logging.INFO)
  main()
  </code></pre>
  
  <p>Changing <code>run_forever()</code> to <code>run_until_complete(asyncio.async(blocking("ls"))</code> works fine. But I'm really confused - why I can't pend a task on the already running loop?</p>