diff options
-rw-r--r-- | lldb/source/Core/Communication.cpp | 8 | ||||
-rw-r--r-- | lldb/source/Core/ConnectionFileDescriptor.cpp | 14 |
2 files changed, 4 insertions, 18 deletions
diff --git a/lldb/source/Core/Communication.cpp b/lldb/source/Core/Communication.cpp index 22a9f9ae293..17ed2fd7689 100644 --- a/lldb/source/Core/Communication.cpp +++ b/lldb/source/Core/Communication.cpp @@ -265,8 +265,7 @@ Communication::AppendBytesToCache (const uint8_t * bytes, size_t len, bool broad lldb_private::LogIfAnyCategoriesSet (LIBLLDB_LOG_COMMUNICATION, "%p Communication::AppendBytesToCache (src = %p, src_len = %zu, broadcast = %i)", this, bytes, len, broadcast); - if ((bytes == NULL || len == 0) - && (status != eConnectionStatusEndOfFile)) + if (bytes == NULL || len == 0) return; if (m_callback) { @@ -321,17 +320,14 @@ Communication::ReadThread (void *p) size_t bytes_read = comm->ReadFromConnection (buf, sizeof(buf), status, &error); if (bytes_read > 0) comm->AppendBytesToCache (buf, bytes_read, true, status); - else if ((bytes_read == 0) - && status == eConnectionStatusEndOfFile) - comm->AppendBytesToCache (buf, bytes_read, true, status); } switch (status) { case eConnectionStatusSuccess: - case eConnectionStatusEndOfFile: break; + case eConnectionStatusEndOfFile: case eConnectionStatusNoConnection: // No connection case eConnectionStatusLostConnection: // Lost connection while connected to a valid connection done = true; diff --git a/lldb/source/Core/ConnectionFileDescriptor.cpp b/lldb/source/Core/ConnectionFileDescriptor.cpp index bdf550e5953..96d70bc1012 100644 --- a/lldb/source/Core/ConnectionFileDescriptor.cpp +++ b/lldb/source/Core/ConnectionFileDescriptor.cpp @@ -156,18 +156,8 @@ ConnectionFileDescriptor::Read (void *dst, size_t dst_len, ConnectionStatus &sta ssize_t bytes_read = ::read (m_fd, dst, dst_len); if (bytes_read == 0) { - // 'read' did not return an error, but it didn't return any bytes either ==> End-of-File. - // If the file descriptor is still valid, then we don't return an error; otherwise we do. - // This allows whoever called us to act on the end-of-file, with a valid file descriptor, if they wish. - if (fcntl (m_fd, F_GETFL, 0) >= 0) - { - error.Clear(); // End-of-file, but not an error. Pass along for the end-of-file handlers. - } - else - { - error.SetErrorStringWithFormat("End-of-file.\n"); - } - status = eConnectionStatusEndOfFile; + error.SetErrorStringWithFormat("End-of-file.\n"); + status = eConnectionStatusLostConnection; } else if (bytes_read < 0) { |