code: public static void start() {
      new Thread( new Runnable() {
          @Override public void run()  {
            while( true ) {
              try {
                // Try to get the NanoHTTP daemon started
                SERVER = new RequestServer(H2O._apiSocket);
                break;
              } catch( Exception ioe ) {
                Log.err(Sys.HTTPD,"Launching NanoHTTP server got ",ioe);
                try { Thread.sleep(1000); } catch( InterruptedException e ) { } // prevent denial-of-service
              }
            }
          }
        }, "Request Server launcher").start();
    }
docs: Keep spinning until we get to launch the NanoHTTPD