parameters: (self)
docstring: Enter a blocking loop until the IO exits
docstring_summary: Enter a blocking loop until the IO exits
docstring_tokens: Enter a blocking loop until the IO exits
function: def run(self):
          """
          Enter a blocking loop until the IO exits
          """
  
          try:
              # Bring up the IO loop task; it's the only task we absolutely care
              # about.  Other tasks can come and go, if this one dies, we have
              # to shut down.
  
              # From this point onwards we exist inside this asyncio wait
  
              self.loop.add_signal_handler(signal.SIGINT, self.kill)
              self.loop.add_signal_handler(signal.SIGTERM, self.kill)
              self.loop.add_signal_handler(signal.SIGQUIT, self.kill)
  
              self.main_io_task = self.loop.create_task(self.__io_loop())
  
              if self.debug:
                  print("kismetexternal api running async loop forever")
  
              self.loop.run_forever()
  
              self.running = False
  
              self.kill()
          except Exception as e:
              if self.running:
                  self.kill()
function_tokens: def run ( self ) : try : # Bring up the IO loop task; it's the only task we absolutely care # about.  Other tasks can come and go, if this one dies, we have # to shut down. # From this point onwards we exist inside this asyncio wait self . loop . add_signal_handler ( signal . SIGINT , self . kill ) self . loop . add_signal_handler ( signal . SIGTERM , self . kill ) self . loop . add_signal_handler ( signal . SIGQUIT , self . kill ) self . main_io_task = self . loop . create_task ( self . __io_loop ( ) ) if self . debug : print ( "kismetexternal api running async loop forever" ) self . loop . run_forever ( ) self . running = False self . kill ( ) except Exception as e : if self . running : self . kill ( )