mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-17 05:45:05 +00:00
7013961: Threads attached via JNI attach prevent daemon ThreadGroups from being destroyed
Reviewed-by: dholmes
This commit is contained in:
parent
50ef3f8522
commit
71a1558a67
@ -690,7 +690,7 @@ class Thread implements Runnable {
|
||||
/* Notify the group that this thread is about to be started
|
||||
* so that it can be added to the group's list of threads
|
||||
* and the group's unstarted count can be decremented. */
|
||||
group.threadStarting(this);
|
||||
group.add(this);
|
||||
|
||||
boolean started = false;
|
||||
try {
|
||||
|
||||
@ -867,21 +867,6 @@ class ThreadGroup implements Thread.UncaughtExceptionHandler {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Notifies the group that the thread {@code t} is about to be
|
||||
* started and adds the thread to this thread group.
|
||||
*
|
||||
* The thread is now a fully fledged member of the group, even though
|
||||
* it hasn't been started yet. It will prevent the group from being
|
||||
* destroyed so the unstarted Threads count is decremented.
|
||||
*/
|
||||
void threadStarting(Thread t) {
|
||||
synchronized (this) {
|
||||
add(t);
|
||||
nUnstartedThreads--;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the specified thread to this thread group.
|
||||
*
|
||||
@ -910,6 +895,12 @@ class ThreadGroup implements Thread.UncaughtExceptionHandler {
|
||||
// This is done last so it doesn't matter in case the
|
||||
// thread is killed
|
||||
nthreads++;
|
||||
|
||||
// The thread is now a fully fledged member of the group, even
|
||||
// though it may, or may not, have been started yet. It will prevent
|
||||
// the group from being destroyed so the unstarted Threads count is
|
||||
// decremented.
|
||||
nUnstartedThreads--;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user