summaryrefslogtreecommitdiffstats
path: root/lldb/source
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2010-12-04 02:39:47 +0000
committerGreg Clayton <gclayton@apple.com>2010-12-04 02:39:47 +0000
commitd46c87a1a86bfd945e7c83b8ab1a8e57aa37863e (patch)
tree9b39528ff18f7c7888d6f52b71a4ae83ce4940a2 /lldb/source
parentf3eb96fccf373f429ff1fefb51ae5eacad95cf81 (diff)
downloadbcm5719-llvm-d46c87a1a86bfd945e7c83b8ab1a8e57aa37863e.tar.gz
bcm5719-llvm-d46c87a1a86bfd945e7c83b8ab1a8e57aa37863e.zip
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. llvm-svn: 120885
Diffstat (limited to 'lldb/source')
-rw-r--r--lldb/source/API/SBCommunication.cpp19
-rw-r--r--lldb/source/Core/Communication.cpp10
-rw-r--r--lldb/source/Core/Debugger.cpp3
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp2
-rw-r--r--lldb/source/Target/Process.cpp2
5 files changed, 23 insertions, 13 deletions
diff --git a/lldb/source/API/SBCommunication.cpp b/lldb/source/API/SBCommunication.cpp
index 6aa1e244d3c..9db6c444902 100644
--- a/lldb/source/API/SBCommunication.cpp
+++ b/lldb/source/API/SBCommunication.cpp
@@ -24,8 +24,8 @@ SBCommunication::SBCommunication() :
{
}
-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 @@ SBCommunication::~SBCommunication()
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/lldb/source/Core/Communication.cpp b/lldb/source/Core/Communication.cpp
index 9258a0cd403..f9a4be1a6db 100644
--- a/lldb/source/Core/Communication.cpp
+++ b/lldb/source/Core/Communication.cpp
@@ -25,7 +25,7 @@ using namespace lldb_private;
//----------------------------------------------------------------------
// 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 @@ Communication::Communication(const char *name, bool close_on_eof) :
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 @@ Communication::ReadFromConnection (void *dst, size_t dst_len, ConnectionStatus &
}
bool
-Communication::CloseOnEOF ()
-{
- return m_close_on_eof;
-}
-
-bool
Communication::ReadThreadIsRunning ()
{
return m_read_thread != LLDB_INVALID_HOST_THREAD;
diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp
index c96cbdff41b..179e4607c57 100644
--- a/lldb/source/Core/Debugger.cpp
+++ b/lldb/source/Core/Debugger.cpp
@@ -166,7 +166,7 @@ Debugger::FindTargetWithProcessID (lldb::pid_t pid)
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 @@ Debugger::Debugger () :
m_input_readers (),
m_input_reader_data ()
{
+ m_input_comm.SetCloseOnEOF(false);
m_command_interpreter_ap->Initialize ();
}
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
index 394b55231a8..d19e19802da 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
@@ -32,7 +32,7 @@ using namespace lldb_private;
// 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/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index 5b87c528e31..4c9a799fe83 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -96,7 +96,7 @@ Process::Process(Target &target, Listener &listener) :
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 ()
{
OpenPOWER on IntegriCloud