private void runLive()
  {
    TalkerTextWork localTalkerTextWork = this.dd.getTalkerTextWork();
    TalkerLineWork localTalkerLineWork = this.dd.getTalkerLineWork();
    long l1 = System.currentTimeMillis();
    long l2 = l1 + 86400000L;
    long l3 = l1 + 3600000L;
    while (this.live)
      try
      {
        Thread.sleep(60000L);
        if (!(this.live))
          break;
        localTalkerTextWork.gc();
        localTalkerLineWork.gc();
        if (ThreadPool.getCountOfSleeping() >= 8)
          ThreadPool.poolGcAll();
        if (this.debug.bool_debug)
        {
          int i = localTalkerTextWork.size();
          int j = localTalkerLineWork.size();
          this.debug.logSys("pchats_gc:connect t=" + i + " l=" + j);
          this.debug.logSys("ThreadSleep=" + ThreadPool.getCountOfSleeping() + " ThreadWork=" + ThreadPool.getCountOfWorking());
        }
        if (localTalkerTextWork.size() == 0)
        {
          synchronized (this.tLive)
          {
            this.debug.log("pchat_gc:suspend");
            ThreadPool.poolGcAll();
            this.isLiveThread = false;
            this.tLive.wait();
            this.isLiveThread = true;
          }
          this.debug.log("pchat_gc:resume");
        }
        l1 = System.currentTimeMillis();
        if (l1 >= l3)
        {
          l3 = l1 + 3600000L;
          this.debug.log(new Date().toString());
          ThreadPool.poolGcAll();
          System.gc();
          System.runFinalization();
        }
        if (l1 >= l2)
        {
          l2 += l1 + 86400000L;
          this.debug.newLogFile(Io.getDateString("pserv_", "log", this.config.getString("Server_Log_Server_Dir", "save_server")));
          this.dd.clearKillList();
        }
      }
      catch (Throwable localThrowable)
      {
        if (this.live)
          localThrowable.printStackTrace();
      }
    label354: exitServer();
  }