class_docstr: Usage:
  
      selector = selectors.SelectSelector()
      loop = asyncio.SelectorEventLoop(InputHookSelector(selector, inputhook))
      asyncio.set_event_loop(loop)
class_docstr_tok: ["Usage",":","selector","=","selectors.SelectSelector","(",")","loop","=","asyncio.SelectorEventLoop","(","InputHookSelector","(","selector",",","inputhook",")",")","asyncio.set_event_loop","(","loop",")"]
docstr: Clean up resources.
docstr_tok: ["Clean","up","resources","."]
code: def close(self) -> None:
      """
      Clean up resources.
      """
      if self._r:
          os.close(self._r)
          os.close(self._w)
  
      self._r = self._w = -1
      self.selector.close()
  
imports: from __future__ import annotations
  import asyncio
  import os
  import select
  import selectors
  import sys
  import threading
  from asyncio import AbstractEventLoop, get_running_loop
  from selectors import BaseSelector, SelectorKey
  from typing import TYPE_CHECKING, Any, Callable, Mapping
label_desc: Use image node_id 6 for calling the InputHookSelector obj's underlying member method code with example usage: obj.close() without return types