From cbf47bae45b7a6c026894ee68ad899c07b1806d0 Mon Sep 17 00:00:00 2001 From: Tom Watson Date: Tue, 5 Feb 2019 15:55:10 +0000 Subject: [PATCH] FELIX-6046 - fix gogo shell thread interrupt. git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1853016 13f79535-47bb-0310-9956-ffa450edef68 --- .../main/java/org/apache/felix/gogo/shell/Activator.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Activator.java b/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Activator.java index 2cff924df48..f1125e5aab3 100644 --- a/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Activator.java +++ b/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Activator.java @@ -185,6 +185,8 @@ private static class StartShellJob implements Runnable private final BundleContext context; private final CommandProcessor processor; private volatile CommandSession session; + private volatile Thread shellThread; + public StartShellJob(BundleContext context, CommandProcessor processor) { @@ -195,6 +197,7 @@ public StartShellJob(BundleContext context, CommandProcessor processor) public void run() { + shellThread = Thread.currentThread(); session = processor.createSession(new FileInputStream(FileDescriptor.in), new FileOutputStream(FileDescriptor.out), new FileOutputStream(FileDescriptor.err)); @@ -239,7 +242,9 @@ public void terminate() session.close(); session = null; } - Thread.currentThread().interrupt(); + if (shellThread != null) { + shellThread.interrupt(); + } } } } \ No newline at end of file