class_docstr: Releases a Lock or Semaphore at the end of a "with" statement.
  
  with (yield semaphore.acquire()):
      pass
  
  # Now semaphore.release() has been called.
class_docstr_tok: ["Releases","a","Lock","or","Semaphore","at","the","end","of","a","``","with","''","statement",".","with","(","yield","semaphore.acquire","(",")",")",":","pass","#","Now","semaphore.release","(",")","has","been","called","."]
code: def __exit__(
      self,
      exc_type: "Optional[Type[BaseException]]",
      exc_val: Optional[BaseException],
      exc_tb: Optional[types.TracebackType],
  ) -> None:
      self._obj.release()
  
imports: import collections
  import datetime
  import types
  from tornado import gen, ioloop
  from tornado.concurrent import Future, future_set_result_unless_cancelled
  from typing import Union, Optional, Type, Any, Awaitable
  import typing
label_desc: Use image node_id 3 for calling the _ReleasingContextManager obj's underlying member method code with example usage: obj.__exit__(exc_type, exc_val, exc_tb) without return types