More termios fixes from Kirk Beitz.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125024 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Interpreter/ScriptInterpreterPython.cpp b/source/Interpreter/ScriptInterpreterPython.cpp
index 61bab48..9122b7e 100644
--- a/source/Interpreter/ScriptInterpreterPython.cpp
+++ b/source/Interpreter/ScriptInterpreterPython.cpp
@@ -201,7 +201,9 @@
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 @@
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 @@
// 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 @@
::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 @@
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 @@
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