<rdar://problem/11246147>

Make sure our debugger STDIN read thread shuts down quickly when we are done with it. We had a case where the owner of the file handle was not closing it and caused spins.

llvm-svn: 156879
diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp
index 250486a..628d760 100644
--- a/lldb/source/Core/Debugger.cpp
+++ b/lldb/source/Core/Debugger.cpp
@@ -387,8 +387,14 @@
         }
     }
     BroadcasterManager::Clear ();
-    DisconnectInput();
-
+    
+    // Close the input file _before_ we close the input read communications class
+    // as it does NOT own the input file, our m_input_file does.
+    GetInputFile().Close ();
+    // Now that we have closed m_input_file, we can now tell our input communication
+    // class to close down. Its read thread should quickly exit after we close
+    // the input file handle above.
+    m_input_comm.Clear ();
 }
 
 bool