Modified the input thread to look for null input lines, in which case it 
assumes that there is no standard input and exits. If we do not do this,
then the thread will enter a tight infinite loop. (FELIX-729)


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@698182 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/shell.tui/src/main/java/org/apache/felix/shell/tui/Activator.java b/shell.tui/src/main/java/org/apache/felix/shell/tui/Activator.java
index b8d025b..72d2da0 100644
--- a/shell.tui/src/main/java/org/apache/felix/shell/tui/Activator.java
+++ b/shell.tui/src/main/java/org/apache/felix/shell/tui/Activator.java
@@ -26,8 +26,8 @@
 public class Activator implements BundleActivator
 {
     private BundleContext m_context = null;
-    private ShellTuiRunnable m_runnable = null;
-    private Thread m_thread = null;
+    private volatile ShellTuiRunnable m_runnable = null;
+    private volatile Thread m_thread = null;
     private ServiceReference m_shellRef = null;
     private ShellService m_shell = null;
 
@@ -116,7 +116,7 @@
 
     private class ShellTuiRunnable implements Runnable
     {
-        private boolean stop = false;
+        private volatile boolean stop = false;
 
         public void stop()
         {
@@ -144,17 +144,18 @@
 
                 synchronized (Activator.this)
                 {
+                    if (line == null)
+                    {
+                        System.err.println("ShellTUI: No standard input...exiting.");
+                        break;
+                    }
+
                     if (m_shell == null)
                     {
                         System.out.println("No impl service available.");
                         continue;
                     }
 
-                    if (line == null)
-                    {
-                        continue;
-                    }
-
                     line = line.trim();
 
                     if (line.length() == 0)
@@ -168,7 +169,7 @@
                     }
                     catch (Exception ex)
                     {
-                        System.err.println("ShellTui: " + ex);
+                        System.err.println("ShellTUI: " + ex);
                         ex.printStackTrace();
                     }
                 }