code: def run(options, http_req_handler = HttpReqHandler):
      
      # pylint: disable-msg=W0613
      global _HTTP_SERVER
  
      for x in ('server_version', 'sys_version'):
          if _OPTIONS.get(x) is not None:
              setattr(http_req_handler, x, _OPTIONS[x])
  
      _HTTP_SERVER = threading_tcp_server.KillableThreadingHTTPServer(
                         _OPTIONS,
                         (_OPTIONS['listen_addr'], _OPTIONS['listen_port']),
                         http_req_handler,
                         name = "httpdis")
  
      for name, cmd in _COMMANDS.iteritems():
          if cmd.at_start:
              LOG.info("at_start: %r", name)
              cmd.at_start(options)
  
      LOG.info("will now serve")
      while not _KILLED:
          try:
              _HTTP_SERVER.serve_until_killed()
          except (socket.error, select.error), why:
              if errno.EINTR == why[0]:
                  LOG.debug("interrupted system call")
              elif errno.EBADF == why[0] and _KILLED:
                  LOG.debug("server close")
              else:
                  raise
  
      LOG.info("exiting")
docs: Start and execute the server