title: what does yield without value do in context manager
body: <pre><code>import contextlib
  import time
  
  @contextlib.contextmanager
  def time_print(task_name):
      t = time.time()
      try:
          yield
      finally:
          print task_name, "took", time.time() - t, "seconds."
  
  
  def doproc():
      x=1+1
  
  
  with time_print("processes"):
      [doproc() for _ in range(500)]
  
  # processes took 15.236166954 seconds.
  </code></pre>
  
  <p>when does doproc get executed when using this decorator?</p>