package z; import G.J; import bH.D; import gnu.io.RXTXCommDriver; import java.util.logging.Level; import java.util.logging.Logger; class ThreadedStart extends Thread { J a = null; boolean b = true; private boolean d = false; public ThreadedStart(e parame, J paramJ) { super("COMM Watchdog"); this.a = paramJ; } public void start() { this.b = true; super.start(); } public void a() { this.b = false; } public void run() { boolean bool = false; while (this.b) { try { if (!this.d && (bool || (this.c.q() && System.currentTimeMillis() - e.q(this.c) > 2500L))) { D.b("Comm Thread not heard from in " + ((System.currentTimeMillis() - e.r(this.c)) / 1000.0D) + " seconds, Reporting Thread where about."); if (this.c.e != null) { D.c("Watchdog Report on Comm Thread. the following stack reports the current Location, not killing yet"); a("comm", this.c.e); } } byte b = (this.c.e() != null) ? this.c.e().i() : 0; long l1 = System.currentTimeMillis() - e.s(this.c); long l2 = e.t(this.c) - System.currentTimeMillis(); if (!this.d && (bool || (this.c.q() && l1 > (5000 + b)) || (this.c.q() && l2 < 0L))) { D.b("Comm Thread not heard from in " + ((System.currentTimeMillis() - e.u(this.c)) / 1000.0D) + " seconds, resetting. Expected to hear from Comm Thread in: " + l2 + "ms. , try again=" + bool); e.b(this.c, System.currentTimeMillis()); long l = System.currentTimeMillis(); D.c("Declaring Comm Thread stale, begining reinitialization"); if (this.c.e != null) { D.c("Watchdog Report on Comm Thread. the following stack reports the current Location"); a("comm", this.c.e); } if (this.c.b != null) try { D.c("Watchdog closing port"); this.c.c(); D.c("Watchdog closed port, Time:" + (System.currentTimeMillis() - l)); } catch (Exception exception) { D.d("Exception caught while trying to clean up port lock"); Logger.getLogger(e.class.getName()).log(Level.SEVERE, (String)null, exception); } D.c("New Driver instance, Time:" + (System.currentTimeMillis() - l)); e.c = new RXTXCommDriver(); D.c("Watchdog re-initializing driver, Time:" + (System.currentTimeMillis() - l)); e.c.initialize(); D.c("Watchdog calling goOffline(), Time:" + (System.currentTimeMillis() - l)); this.a.c(); Thread.sleep(500L); D.c("Watchdog calling goOnline(), Time:" + (System.currentTimeMillis() - l)); this.a.d(); D.c("Watchdog succeeded. Time:" + (System.currentTimeMillis() - l)); bool = false; sleep(10000L); e.c(this.c, System.currentTimeMillis()); } } catch (Exception exception) { D.b("CommWatchDog failed to restart " + this.c.e().u() + " on port " + this.c.e().s() + ", will try again."); Logger.getLogger(e.class.getName()).log(Level.SEVERE, (String)null, exception); bool = true; } finally { try { Thread.sleep(2000L); } catch (InterruptedException interruptedException) { Logger.getLogger(e.class.getName()).log(Level.SEVERE, (String)null, interruptedException); } } } } public boolean b() { return this.d; } public void a(boolean paramBoolean) { this.d = paramBoolean; } void a(String paramString, Thread paramThread) { try { StackTraceElement[] arrayOfStackTraceElement = paramThread.getStackTrace(); Exception exception = new Exception("Stack for " + paramString + " Thread:"); exception.setStackTrace(arrayOfStackTraceElement); Logger.getLogger(e.class.getName()).log(Level.INFO, (String)null, exception); } catch (Exception exception) { D.b("Failed to dump stack of " + paramString + " thread."); } } } /* Location: /home/rewrich/Downloads/TunerStudioMS/TunerStudioMS/!/z/g.class * Java compiler version: 8 (52.0) * JD-Core Version: 1.1.3 */