You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by lg...@apache.org on 2016/02/17 11:24:42 UTC
[3/3] mina-sshd git commit: [SSHD-646] ThreadGroup created in
ThreadUtils is not destroyed and causes memory leak
[SSHD-646] ThreadGroup created in ThreadUtils is not destroyed and causes memory leak
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/7e24f2e1
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/7e24f2e1
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/7e24f2e1
Branch: refs/heads/master
Commit: 7e24f2e1b59f9b3bf026ac3c08f7a0a7baa97a74
Parents: adc1786
Author: Lyor Goldstein <ly...@gmail.com>
Authored: Wed Feb 17 12:25:19 2016 +0200
Committer: Lyor Goldstein <ly...@gmail.com>
Committed: Wed Feb 17 12:25:19 2016 +0200
----------------------------------------------------------------------
.../java/org/apache/sshd/common/util/threads/ThreadUtils.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7e24f2e1/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
index d0a25ed..5fc07be 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
@@ -166,6 +166,9 @@ public final class ThreadUtils {
ThreadGroup parentGroup = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup();
String effectiveName = name.replace(' ', '-');
group = new ThreadGroup(parentGroup, "sshd-" + effectiveName + "-group");
+ if (!group.isDaemon()) {
+ group.setDaemon(true); // automatically destroy when last thread dies
+ }
namePrefix = "sshd-" + effectiveName + "-thread-";
}
@@ -180,7 +183,5 @@ public final class ThreadUtils {
}
return t;
}
-
}
-
}