Class ForkedMain.ShutdownTimeoutThread

  • All Implemented Interfaces:
    java.lang.Runnable
    Enclosing class:
    ForkedMain

    private static class ForkedMain.ShutdownTimeoutThread
    extends java.lang.Thread
    Shutdown timeout thread will forcefully exit the VM in two cases: - stray non-daemon thread prevents the VM from exiting - all user threads have finished, but we are stuck in some shutdown hook or finalizer In all other "normal" cases, VM will exit before the timeout expires.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.lang.Thread

        java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.lang.String LINE_SEPARATOR  
      private static int TIMEOUT  
      private static int TIMEOUT_STEP  
      • Fields inherited from class java.lang.Thread

        MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private java.lang.String getMessage​(long waitMore)  
      void run()  
      • Methods inherited from class java.lang.Thread

        activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • TIMEOUT

        private static final int TIMEOUT
      • TIMEOUT_STEP

        private static final int TIMEOUT_STEP
      • LINE_SEPARATOR

        private static final java.lang.String LINE_SEPARATOR
    • Constructor Detail

      • ShutdownTimeoutThread

        public ShutdownTimeoutThread()
    • Method Detail

      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
        Overrides:
        run in class java.lang.Thread
      • getMessage

        private java.lang.String getMessage​(long waitMore)