This is an automated email from the ASF dual-hosted git repository.

lgoldstein pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-sshd.git

commit 2fc98f7a21a7b83d2b2bc72d48a2194caa7f8fd1
Author: Lyor Goldstein <lgoldst...@apache.org>
AuthorDate: Tue Mar 23 09:49:33 2021 +0200

    [SSHD-1148] Provide unique thread names to single threaded executors
---
 sshd-cli/src/test/java/org/apache/sshd/cli/server/SshFsMounter.java    | 3 ++-
 .../src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java     | 2 +-
 .../src/main/java/org/apache/sshd/client/channel/ChannelSession.java   | 2 +-
 .../java/org/apache/sshd/server/command/AbstractCommandSupport.java    | 3 ++-
 4 files changed, 6 insertions(+), 4 deletions(-)

diff --git 
a/sshd-cli/src/test/java/org/apache/sshd/cli/server/SshFsMounter.java 
b/sshd-cli/src/test/java/org/apache/sshd/cli/server/SshFsMounter.java
index 4a55cdf..34efa40 100644
--- a/sshd-cli/src/test/java/org/apache/sshd/cli/server/SshFsMounter.java
+++ b/sshd-cli/src/test/java/org/apache/sshd/cli/server/SshFsMounter.java
@@ -162,7 +162,8 @@ public final class SshFsMounter extends SshServerCliSupport 
{
 
         @Override
         public void start(ChannelSession channel, Environment env) throws 
IOException {
-            executor = 
ThreadUtils.newSingleThreadExecutor(getClass().getSimpleName());
+            executor = ThreadUtils.newSingleThreadExecutor(
+                    getClass().getSimpleName() + "-" + 
Math.abs(System.nanoTime() & 0xFFFF));
             future = executor.submit(this);
         }
 
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java 
b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java
index a187f67..d885329 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java
@@ -83,7 +83,7 @@ public class AgentServerProxy extends AbstractLoggingBean 
implements SshAgentSer
             }
 
             pipeService = (executor == null)
-                    ? 
ThreadUtils.newSingleThreadExecutor("sshd-AgentServerProxy-PIPE-" + authSocket)
+                    ? 
ThreadUtils.newSingleThreadExecutor("AgentServerProxy-PIPE-" + authSocket)
                     : ThreadUtils.noClose(executor);
             piper = pipeService.submit(() -> {
                 try {
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java 
b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java
index 9178ba2..4d5548e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java
@@ -94,7 +94,7 @@ public class ChannelSession extends AbstractClientChannel {
                 CloseableExecutorService service = getExecutorService();
                 if (service == null) {
                     pumperService = ThreadUtils.newSingleThreadExecutor(
-                            "ClientInputStreamPump[" + this + "]");
+                            "ClientInputStreamPump[" + 
Math.abs(System.nanoTime() & 0xFFFF) + "]");
                 } else {
                     pumperService = ThreadUtils.noClose(service);
                 }
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractCommandSupport.java
 
b/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractCommandSupport.java
index b09bf4d..55dc4a7 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractCommandSupport.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractCommandSupport.java
@@ -68,7 +68,8 @@ public abstract class AbstractCommandSupport
             String poolName = GenericUtils.isEmpty(command)
                     ? getClass().getSimpleName()
                     : command.replace(' ', '_').replace('/', ':');
-            this.executorService = 
ThreadUtils.newSingleThreadExecutor(poolName);
+            this.executorService = ThreadUtils.newSingleThreadExecutor(
+                    poolName + "-" + Math.abs(System.nanoTime() & 0xFFFF));
         } else {
             this.executorService = executorService;
         }

Reply via email to