<rdar://problem/10750012>

Remove a pseudo terminal master open and slave file descriptor that was being
used for pythong stdin. It was not hooked up correctly and was causing file
descriptor leaks.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149098 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Interpreter/ScriptInterpreterPython.cpp b/source/Interpreter/ScriptInterpreterPython.cpp
index ee3f14c..2e95017 100644
--- a/source/Interpreter/ScriptInterpreterPython.cpp
+++ b/source/Interpreter/ScriptInterpreterPython.cpp
@@ -187,7 +187,6 @@
     m_dictionary_name (interpreter.GetDebugger().GetInstanceName().AsCString()),
     m_terminal_state (),
     m_session_is_active (false),
-    m_pty_slave_is_open (false),
     m_valid_session (true)
 {
 
@@ -262,7 +261,6 @@
     {
         m_embedded_thread_input_reader_sp->SetIsDone (true);
         m_embedded_python_pty.CloseSlaveFileDescriptor();
-        m_pty_slave_is_open = false;
         const InputReaderSP reader_sp = m_embedded_thread_input_reader_sp;
         m_embedded_thread_input_reader_sp.reset();
         debugger.PopInputReader (reader_sp);
@@ -348,14 +346,14 @@
         run_string.Printf ("run_one_line (%s, 'lldb.target = lldb.debugger.GetSelectedTarget()')", 
                            m_dictionary_name.c_str());
     else
-        run_string.Printf ("run_one_line (%s, 'lldb.target = None')", m_dictionary_name.c_str());
+        run_string.Printf ("run_one_line (%s, 'lldb.target = lldb.SBTarget()')", m_dictionary_name.c_str());
     PyRun_SimpleString (run_string.GetData());
     run_string.Clear();
 
     if (exe_ctx.GetProcessPtr())
         run_string.Printf ("run_one_line (%s, 'lldb.process = lldb.target.GetProcess()')", m_dictionary_name.c_str());
     else
-        run_string.Printf ("run_one_line (%s, 'lldb.process = None')", m_dictionary_name.c_str());
+        run_string.Printf ("run_one_line (%s, 'lldb.process = lldb.SBProcess()')", m_dictionary_name.c_str());
     PyRun_SimpleString (run_string.GetData());
     run_string.Clear();
 
@@ -363,7 +361,7 @@
         run_string.Printf ("run_one_line (%s, 'lldb.thread = lldb.process.GetSelectedThread ()')", 
                            m_dictionary_name.c_str());
     else
-        run_string.Printf ("run_one_line (%s, 'lldb.thread = None')", m_dictionary_name.c_str());
+        run_string.Printf ("run_one_line (%s, 'lldb.thread = lldb.SBThread()')", m_dictionary_name.c_str());
     PyRun_SimpleString (run_string.GetData());
     run_string.Clear();
     
@@ -371,7 +369,7 @@
         run_string.Printf ("run_one_line (%s, 'lldb.frame = lldb.thread.GetSelectedFrame ()')", 
                            m_dictionary_name.c_str());
     else
-        run_string.Printf ("run_one_line (%s, 'lldb.frame = None')", m_dictionary_name.c_str());
+        run_string.Printf ("run_one_line (%s, 'lldb.frame = lldb.SBFrame()')", m_dictionary_name.c_str());
     PyRun_SimpleString (run_string.GetData());
     run_string.Clear();
     
@@ -385,19 +383,6 @@
             
     if (PyErr_Occurred())
         PyErr_Clear ();
-        
-    if (!m_pty_slave_is_open)
-    {
-        run_string.Clear();
-        run_string.Printf ("run_one_line (%s, \"new_stdin = open('%s', 'r')\")", m_dictionary_name.c_str(),
-                           m_pty_slave_name.c_str());
-        PyRun_SimpleString (run_string.GetData());
-        m_pty_slave_is_open = true;
-        
-        run_string.Clear();
-        run_string.Printf ("run_one_line (%s, 'sys.stdin = new_stdin')", m_dictionary_name.c_str());
-        PyRun_SimpleString (run_string.GetData());
-    }
 }   
 
 
@@ -1651,8 +1636,6 @@
     
     script_interpreter->m_embedded_python_pty.CloseSlaveFileDescriptor();
 
-    script_interpreter->m_pty_slave_is_open = false;
-    
     log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_SCRIPT);
     if (log)
         log->Printf ("%p ScriptInterpreterPython::RunEmbeddedPythonInterpreter () thread exiting...", baton);