Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8283467

runtime/Thread/StopAtExit.java needs updating

XMLWordPrintable

    • b16

        Thread.stop(), ThreadGroup.destroy(), ThreadGroup.isDestroyed(),
        ThreadGroup.setDaemon() are deprecated for removal:

        ----------direct:(19/1707)----------
        /System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk19_exp.git/open/test/hotspot/jtreg/runtime/Thread/StopAtExit.java:91: warning: [removal] setDaemon(boolean) in ThreadGroup has been deprecated and marked for removal
                    myTG.setDaemon(true);
                        ^
        /System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk19_exp.git/open/test/hotspot/jtreg/runtime/Thread/StopAtExit.java:101: warning: [removal] stop() in Thread has been deprecated and marked for removal
                            thread.stop();
                                  ^
        /System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk19_exp.git/open/test/hotspot/jtreg/runtime/Thread/StopAtExit.java:125: warning: [removal] stop() in Thread has been deprecated and marked for removal
                    thread.stop();
                          ^
        /System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk19_exp.git/open/test/hotspot/jtreg/runtime/Thread/StopAtExit.java:142: warning: [removal] isDestroyed() in ThreadGroup has been deprecated and marked for removal
                        if (!myTG.isDestroyed()) {
                                 ^
        /System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk19_exp.git/open/test/hotspot/jtreg/runtime/Thread/StopAtExit.java:146: warning: [removal] isDestroyed() in ThreadGroup has been deprecated and marked for removal
                    } else if (!myTG.isDestroyed()) {
                                    ^
        /System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk19_exp.git/open/test/hotspot/jtreg/runtime/Thread/StopAtExit.java:154: warning: [removal] destroy() in ThreadGroup has been deprecated and marked for removal
                            myTG.destroy();
                                ^
        6 warnings
        result: Passed. Compilation successful


        Will be switching from java.lang.Thread.stop() to JVM/TI StopThread().
        Will also be cleaning up the error handling since the JVM/TI APIs
        actually return error codes.

        The java.lang.ThreadGroup.destroy(), ThreadGroup.isDestroyed(),
        ThreadGroup.setDaemon() methods are used for cleaning up
        memory leaks that can be caused by async exception delivery.
        After the fix for:

            JDK-8282952 Thread::exit should be immune to Thread.stop

        is integrated, the code that does that cleanup should not be
        necessary. However, I may do cleanup as a separate RFE.

              dcubed Daniel Daugherty
              dcubed Daniel Daugherty
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: