From cdd074fbc76bfe6cd6c7e534727625975157c87c Mon Sep 17 00:00:00 2001 From: Greg Clayton Date: Mon, 7 Feb 2011 19:04:58 +0000 Subject: More termios fixes from Kirk Beitz. llvm-svn: 125024 --- lldb/source/Interpreter/ScriptInterpreterPython.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'lldb/source/Interpreter/ScriptInterpreterPython.cpp') diff --git a/lldb/source/Interpreter/ScriptInterpreterPython.cpp b/lldb/source/Interpreter/ScriptInterpreterPython.cpp index 61bab4851cf8..9122b7edd1b4 100644 --- a/lldb/source/Interpreter/ScriptInterpreterPython.cpp +++ b/lldb/source/Interpreter/ScriptInterpreterPython.cpp @@ -201,7 +201,9 @@ ScriptInterpreterPython::ScriptInterpreterPython (CommandInterpreter &interprete m_dbg_stdout (interpreter.GetDebugger().GetOutputFileHandle()), m_new_sysout (NULL), m_dictionary_name (interpreter.GetDebugger().GetInstanceName().AsCString()), +#if LLDB_CONFIG_TERMIOS_SUPPORTED m_termios (), +#endif // #if LLDB_CONFIG_TERMIOS_SUPPORTED m_termios_valid (false), m_session_is_active (false), m_pty_slave_is_open (false), @@ -569,8 +571,10 @@ ScriptInterpreterPython::InputReaderCallback else input_fd = STDIN_FILENO; +#if LLDB_CONFIG_TERMIOS_SUPPORTED script_interpreter->m_termios_valid = ::tcgetattr (input_fd, &script_interpreter->m_termios) == 0; - +#endif // #if LLDB_CONFIG_TERMIOS_SUPPORTED + if (!CurrentThreadHasPythonLock()) { while (!GetPythonLock(1)) @@ -674,6 +678,7 @@ ScriptInterpreterPython::InputReaderCallback // Restore terminal settings if they were validly saved if (log) log->Printf ("ScriptInterpreterPython::InputReaderCallback, Done, closing down input reader."); +#if LLDB_CONFIG_TERMIOS_SUPPORTED if (script_interpreter->m_termios_valid) { int input_fd; @@ -685,6 +690,7 @@ ScriptInterpreterPython::InputReaderCallback ::tcsetattr (input_fd, TCSANOW, &script_interpreter->m_termios); } +#endif // #if LLDB_CONFIG_TERMIOS_SUPPORTED script_interpreter->m_embedded_python_pty.CloseMasterFileDescriptor(); break; } @@ -1433,8 +1439,10 @@ ScriptInterpreterPython::Initialize () int input_fd = STDIN_FILENO; +#if LLDB_CONFIG_TERMIOS_SUPPORTED struct termios stdin_termios; bool valid_termios = ::tcgetattr (input_fd, &stdin_termios) == 0; +#endif // #if LLDB_CONFIG_TERMIOS_SUPPORTED // Find the module that owns this code and use that path we get to // set the PYTHONPATH appropriately. @@ -1511,9 +1519,11 @@ ScriptInterpreterPython::Initialize () PyRun_SimpleString ("from termios import *"); Py_DECREF (pmod); } - + +#if LLDB_CONFIG_TERMIOS_SUPPORTED if (valid_termios) ::tcsetattr (input_fd, TCSANOW, &stdin_termios); +#endif // #if LLDB_CONFIG_TERMIOS_SUPPORTED } void -- cgit v1.2.3