More reverting of the EOF stuff as the API was changed which we don't want to
do. Closing on EOF is an option that can be set on the
lldb_private::Communication or the lldb::SBCommunication objects after they
are created. Of course the EOF support isn't hooked up, so they don't do
anything at the moment, but they are left in so when the code is fixed, it
will be easy to get working again.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120885 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/API/SBCommunication.cpp b/source/API/SBCommunication.cpp
index 6aa1e24..9db6c44 100644
--- a/source/API/SBCommunication.cpp
+++ b/source/API/SBCommunication.cpp
@@ -24,8 +24,8 @@
{
}
-SBCommunication::SBCommunication(const char * broadcaster_name, bool close_on_eof) :
- m_opaque (new Communication (broadcaster_name, close_on_eof)),
+SBCommunication::SBCommunication(const char * broadcaster_name) :
+ m_opaque (new Communication (broadcaster_name)),
m_opaque_owned (true)
{
LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
@@ -43,6 +43,21 @@
m_opaque_owned = false;
}
+bool
+SBCommunication::GetCloseOnEOF ()
+{
+ if (m_opaque)
+ return m_opaque->GetCloseOnEOF ();
+ return false;
+}
+
+void
+SBCommunication::SetCloseOnEOF (bool b)
+{
+ if (m_opaque)
+ m_opaque->SetCloseOnEOF (b);
+}
+
ConnectionStatus
SBCommunication::CheckIfBytesAvailable ()
{
diff --git a/source/Core/Communication.cpp b/source/Core/Communication.cpp
index 9258a0c..f9a4be1 100644
--- a/source/Core/Communication.cpp
+++ b/source/Core/Communication.cpp
@@ -25,7 +25,7 @@
//----------------------------------------------------------------------
// Constructor
//----------------------------------------------------------------------
-Communication::Communication(const char *name, bool close_on_eof) :
+Communication::Communication(const char *name) :
Broadcaster (name),
m_connection_ap (),
m_read_thread (LLDB_INVALID_HOST_THREAD),
@@ -34,7 +34,7 @@
m_bytes_mutex (Mutex::eMutexTypeRecursive),
m_callback (NULL),
m_callback_baton (NULL),
- m_close_on_eof (close_on_eof)
+ m_close_on_eof (true)
{
lldb_private::LogIfAnyCategoriesSet (LIBLLDB_LOG_OBJECT | LIBLLDB_LOG_COMMUNICATION,
@@ -291,12 +291,6 @@
}
bool
-Communication::CloseOnEOF ()
-{
- return m_close_on_eof;
-}
-
-bool
Communication::ReadThreadIsRunning ()
{
return m_read_thread != LLDB_INVALID_HOST_THREAD;
diff --git a/source/Core/Debugger.cpp b/source/Core/Debugger.cpp
index c96cbdf..179e460 100644
--- a/source/Core/Debugger.cpp
+++ b/source/Core/Debugger.cpp
@@ -166,7 +166,7 @@
Debugger::Debugger () :
UserID (g_unique_id++),
DebuggerInstanceSettings (*GetSettingsController()),
- m_input_comm("debugger.input", false),
+ m_input_comm("debugger.input"),
m_input_file (),
m_output_file (),
m_error_file (),
@@ -178,6 +178,7 @@
m_input_readers (),
m_input_reader_data ()
{
+ m_input_comm.SetCloseOnEOF(false);
m_command_interpreter_ap->Initialize ();
}
diff --git a/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp b/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
index 394b552..d19e198 100644
--- a/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
+++ b/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
@@ -32,7 +32,7 @@
// GDBRemoteCommunication constructor
//----------------------------------------------------------------------
GDBRemoteCommunication::GDBRemoteCommunication() :
- Communication("gdb-remote.packets", true),
+ Communication("gdb-remote.packets"),
m_send_acks (true),
m_rx_packet_listener ("gdbremote.rx_packet"),
m_sequence_mutex (Mutex::eMutexTypeRecursive),
diff --git a/source/Target/Process.cpp b/source/Target/Process.cpp
index 5b87c52..4c9a799 100644
--- a/source/Target/Process.cpp
+++ b/source/Target/Process.cpp
@@ -96,7 +96,7 @@
m_addr_byte_size (0),
m_abi_sp (),
m_process_input_reader (),
- m_stdio_communication ("lldb.process.stdio", true),
+ m_stdio_communication ("lldb.process.stdio"),
m_stdio_communication_mutex (Mutex::eMutexTypeRecursive),
m_stdout_data ()
{