[Lldb-commits] [lldb] r219143 - Move ConnectionFileDescriptor to platform-specific Host directory.

Zachary Turner zturner at google.com
Mon Oct 6 14:22:37 PDT 2014


Author: zturner
Date: Mon Oct  6 16:22:36 2014
New Revision: 219143

URL: http://llvm.org/viewvc/llvm-project?rev=219143&view=rev
Log:
Move ConnectionFileDescriptor to platform-specific Host directory.

As part of getting ConnectionFileDescriptor working on Windows,
there is going to be alot of platform specific work to be done.
As a result, the implementation is moving into Host.  This patch
performs the code move and fixes up call-sites appropriately.

Reviewed by: Greg Clayton
Differential Revision: http://reviews.llvm.org/D5548

Added:
    lldb/trunk/include/lldb/Host/ConnectionFileDescriptor.h
    lldb/trunk/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h
    lldb/trunk/source/Host/posix/ConnectionFileDescriptorPosix.cpp
      - copied, changed from r219142, lldb/trunk/source/Core/ConnectionFileDescriptor.cpp
Removed:
    lldb/trunk/include/lldb/Core/ConnectionFileDescriptor.h
    lldb/trunk/source/Core/ConnectionFileDescriptor.cpp
Modified:
    lldb/trunk/include/lldb/Host/Editline.h
    lldb/trunk/source/API/SBCommunication.cpp
    lldb/trunk/source/Core/CMakeLists.txt
    lldb/trunk/source/Core/Debugger.cpp
    lldb/trunk/source/Host/CMakeLists.txt
    lldb/trunk/source/Host/macosx/Host.mm
    lldb/trunk/source/Interpreter/ScriptInterpreterPython.cpp
    lldb/trunk/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
    lldb/trunk/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
    lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    lldb/trunk/source/Target/Process.cpp
    lldb/trunk/tools/lldb-gdbserver/lldb-gdbserver.cpp
    lldb/trunk/tools/lldb-platform/lldb-platform.cpp

Removed: lldb/trunk/include/lldb/Core/ConnectionFileDescriptor.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/ConnectionFileDescriptor.h?rev=219142&view=auto
==============================================================================
--- lldb/trunk/include/lldb/Core/ConnectionFileDescriptor.h (original)
+++ lldb/trunk/include/lldb/Core/ConnectionFileDescriptor.h (removed)
@@ -1,119 +0,0 @@
-//===-- ConnectionFileDescriptor.h ------------------------------*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef liblldb_ConnectionFileDescriptor_h_
-#define liblldb_ConnectionFileDescriptor_h_
-
-// C++ Includes
-#include <atomic>
-#include <memory>
-
-#include "lldb/lldb-forward.h"
-
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Core/Connection.h"
-#include "lldb/Host/Mutex.h"
-#include "lldb/Host/Pipe.h"
-#include "lldb/Host/Predicate.h"
-#include "lldb/Host/IOObject.h"
-
-namespace lldb_private {
-
-class Error;
-class Socket;
-class SocketAddress;
-
-class ConnectionFileDescriptor :
-    public Connection
-{
-public:
-
-    ConnectionFileDescriptor ();
-
-    ConnectionFileDescriptor (int fd, bool owns_fd);
-
-    virtual
-    ~ConnectionFileDescriptor ();
-
-    virtual bool
-    IsConnected () const;
-
-    virtual lldb::ConnectionStatus
-    Connect (const char *s, Error *error_ptr);
-
-    virtual lldb::ConnectionStatus
-    Disconnect (Error *error_ptr);
-
-    virtual size_t
-    Read (void *dst, 
-          size_t dst_len, 
-          uint32_t timeout_usec,
-          lldb::ConnectionStatus &status, 
-          Error *error_ptr);
-
-    virtual size_t
-    Write (const void *src, 
-           size_t src_len, 
-           lldb::ConnectionStatus &status, 
-           Error *error_ptr);
-
-    lldb::ConnectionStatus
-    BytesAvailable (uint32_t timeout_usec, Error *error_ptr);
-
-    bool
-    InterruptRead ();
-
-    lldb::IOObjectSP GetReadObject() { return m_read_sp; }
-    const lldb::IOObjectSP GetReadObject() const { return m_read_sp; }
-
-    uint16_t GetListeningPort(uint32_t timeout_sec);
-
-protected:
-    
-    void
-    OpenCommandPipe ();
-    
-    void
-    CloseCommandPipe ();
-    
-    lldb::ConnectionStatus
-    SocketListen (const char *host_and_port, Error *error_ptr);
-    
-    lldb::ConnectionStatus
-    ConnectTCP (const char *host_and_port, Error *error_ptr);
-
-    lldb::ConnectionStatus
-    ConnectUDP (const char *args, Error *error_ptr);
-    
-    lldb::ConnectionStatus
-    NamedSocketConnect (const char *socket_name, Error *error_ptr);
-
-    lldb::ConnectionStatus
-    NamedSocketAccept (const char *socket_name, Error *error_ptr);
-    
-    lldb::IOObjectSP m_read_sp;
-    lldb::IOObjectSP m_write_sp;
-
-    Predicate<uint16_t> m_port_predicate; // Used when binding to port zero to wait for the thread
-                                          // that creates the socket, binds and listens to resolve
-                                          // the port number.
-
-    Pipe m_pipe;
-    Mutex m_mutex;
-    std::atomic<bool> m_shutting_down;    // This marks that we are shutting down so if we get woken up from
-                                          // BytesAvailable to disconnect, we won't try to read again.
-    bool m_waiting_for_accept;
-private:
-    DISALLOW_COPY_AND_ASSIGN (ConnectionFileDescriptor);
-};
-
-} // namespace lldb_private
-
-#endif  // liblldb_ConnectionFileDescriptor_h_

Added: lldb/trunk/include/lldb/Host/ConnectionFileDescriptor.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Host/ConnectionFileDescriptor.h?rev=219143&view=auto
==============================================================================
--- lldb/trunk/include/lldb/Host/ConnectionFileDescriptor.h (added)
+++ lldb/trunk/include/lldb/Host/ConnectionFileDescriptor.h Mon Oct  6 16:22:36 2014
@@ -0,0 +1,15 @@
+//===-- ConnectionFileDescriptor.h ------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef liblldb_Host_ConnectionFileDescriptor_h_
+#define liblldb_Host_ConnectionFileDescriptor_h_
+
+#include "lldb/Host/posix/ConnectionFileDescriptorPosix.h"
+
+#endif

Modified: lldb/trunk/include/lldb/Host/Editline.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Host/Editline.h?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Host/Editline.h (original)
+++ lldb/trunk/include/lldb/Host/Editline.h Mon Oct  6 16:22:36 2014
@@ -23,8 +23,8 @@
 #include <string>
 #include <vector>
 
-#include "lldb/Core/ConnectionFileDescriptor.h"
 #include "lldb/Host/Condition.h"
+#include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/FileSpec.h"
 #include "lldb/Host/Mutex.h"
 #include "lldb/Host/Predicate.h"

Added: lldb/trunk/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h?rev=219143&view=auto
==============================================================================
--- lldb/trunk/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h (added)
+++ lldb/trunk/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h Mon Oct  6 16:22:36 2014
@@ -0,0 +1,104 @@
+//===-- ConnectionFileDescriptorPosix.h -------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef liblldb_Host_posix_ConnectionFileDescriptorPosix_h_
+#define liblldb_Host_posix_ConnectionFileDescriptorPosix_h_
+
+// C++ Includes
+#include <atomic>
+#include <memory>
+
+#include "lldb/lldb-forward.h"
+
+// Other libraries and framework includes
+// Project includes
+#include "lldb/Core/Connection.h"
+#include "lldb/Host/Mutex.h"
+#include "lldb/Host/Pipe.h"
+#include "lldb/Host/Predicate.h"
+#include "lldb/Host/IOObject.h"
+
+namespace lldb_private
+{
+
+class Error;
+class Socket;
+class SocketAddress;
+
+class ConnectionFileDescriptor : public Connection
+{
+  public:
+    ConnectionFileDescriptor();
+
+    ConnectionFileDescriptor(int fd, bool owns_fd);
+
+    virtual ~ConnectionFileDescriptor();
+
+    virtual bool IsConnected() const;
+
+    virtual lldb::ConnectionStatus Connect(const char *s, Error *error_ptr);
+
+    virtual lldb::ConnectionStatus Disconnect(Error *error_ptr);
+
+    virtual size_t Read(void *dst, size_t dst_len, uint32_t timeout_usec, lldb::ConnectionStatus &status, Error *error_ptr);
+
+    virtual size_t Write(const void *src, size_t src_len, lldb::ConnectionStatus &status, Error *error_ptr);
+
+    lldb::ConnectionStatus BytesAvailable(uint32_t timeout_usec, Error *error_ptr);
+
+    bool InterruptRead();
+
+    lldb::IOObjectSP
+    GetReadObject()
+    {
+        return m_read_sp;
+    }
+    const lldb::IOObjectSP
+    GetReadObject() const
+    {
+        return m_read_sp;
+    }
+
+    uint16_t GetListeningPort(uint32_t timeout_sec);
+
+  protected:
+    void OpenCommandPipe();
+
+    void CloseCommandPipe();
+
+    lldb::ConnectionStatus SocketListen(const char *host_and_port, Error *error_ptr);
+
+    lldb::ConnectionStatus ConnectTCP(const char *host_and_port, Error *error_ptr);
+
+    lldb::ConnectionStatus ConnectUDP(const char *args, Error *error_ptr);
+
+    lldb::ConnectionStatus NamedSocketConnect(const char *socket_name, Error *error_ptr);
+
+    lldb::ConnectionStatus NamedSocketAccept(const char *socket_name, Error *error_ptr);
+
+    lldb::IOObjectSP m_read_sp;
+    lldb::IOObjectSP m_write_sp;
+
+    Predicate<uint16_t> m_port_predicate; // Used when binding to port zero to wait for the thread
+                                          // that creates the socket, binds and listens to resolve
+                                          // the port number.
+
+    Pipe m_pipe;
+    Mutex m_mutex;
+    std::atomic<bool> m_shutting_down; // This marks that we are shutting down so if we get woken up from
+                                       // BytesAvailable to disconnect, we won't try to read again.
+    bool m_waiting_for_accept;
+
+  private:
+    DISALLOW_COPY_AND_ASSIGN(ConnectionFileDescriptor);
+};
+
+} // namespace lldb_private
+
+#endif // liblldb_ConnectionFileDescriptor_h_

Modified: lldb/trunk/source/API/SBCommunication.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SBCommunication.cpp?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/source/API/SBCommunication.cpp (original)
+++ lldb/trunk/source/API/SBCommunication.cpp Mon Oct  6 16:22:36 2014
@@ -10,8 +10,8 @@
 #include "lldb/API/SBCommunication.h"
 #include "lldb/API/SBBroadcaster.h"
 #include "lldb/Core/Communication.h"
-#include "lldb/Core/ConnectionFileDescriptor.h"
 #include "lldb/Core/Log.h"
+#include "lldb/Host/ConnectionFileDescriptor.h"
 
 using namespace lldb;
 using namespace lldb_private;

Modified: lldb/trunk/source/Core/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/CMakeLists.txt?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/source/Core/CMakeLists.txt (original)
+++ lldb/trunk/source/Core/CMakeLists.txt Mon Oct  6 16:22:36 2014
@@ -11,7 +11,6 @@ add_lldb_library(lldbCore
   Broadcaster.cpp
   Communication.cpp
   Connection.cpp
-  ConnectionFileDescriptor.cpp
   ConnectionMachPort.cpp
   ConnectionSharedMemory.cpp
   ConstString.cpp

Removed: lldb/trunk/source/Core/ConnectionFileDescriptor.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/ConnectionFileDescriptor.cpp?rev=219142&view=auto
==============================================================================
--- lldb/trunk/source/Core/ConnectionFileDescriptor.cpp (original)
+++ lldb/trunk/source/Core/ConnectionFileDescriptor.cpp (removed)
@@ -1,812 +0,0 @@
-//===-- ConnectionFileDescriptor.cpp ----------------------------*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#if defined(__APPLE__)
-// Enable this special support for Apple builds where we can have unlimited
-// select bounds. We tried switching to poll() and kqueue and we were panicing
-// the kernel, so we have to stick with select for now.
-#define _DARWIN_UNLIMITED_SELECT
-#endif
-
-#include "lldb/Core/ConnectionFileDescriptor.h"
-#include "lldb/Host/Config.h"
-#include "lldb/Host/IOObject.h"
-#include "lldb/Host/SocketAddress.h"
-#include "lldb/Host/Socket.h"
-
-// C Includes
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/types.h>
-
-#ifndef LLDB_DISABLE_POSIX
-#include <termios.h>
-#endif
-
-// C++ Includes
-// Other libraries and framework includes
-#include "llvm/Support/ErrorHandling.h"
-#if defined(__APPLE__)
-#include "llvm/ADT/SmallVector.h"
-#endif
-// Project includes
-#include "lldb/lldb-private-log.h"
-#include "lldb/Core/Communication.h"
-#include "lldb/Core/Log.h"
-#include "lldb/Core/Timer.h"
-#include "lldb/Host/Host.h"
-#include "lldb/Host/Socket.h"
-#include "lldb/Interpreter/Args.h"
-
-
-using namespace lldb;
-using namespace lldb_private;
-
-ConnectionFileDescriptor::ConnectionFileDescriptor () :
-    Connection(),
-    m_pipe (),
-    m_mutex (Mutex::eMutexTypeRecursive),
-    m_shutting_down (false),
-    m_waiting_for_accept (false)
-{
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION |  LIBLLDB_LOG_OBJECT));
-    if (log)
-        log->Printf ("%p ConnectionFileDescriptor::ConnectionFileDescriptor ()",
-                     static_cast<void*>(this));
-}
-
-ConnectionFileDescriptor::ConnectionFileDescriptor (int fd, bool owns_fd) :
-    Connection(),
-    m_pipe (),
-    m_mutex (Mutex::eMutexTypeRecursive),
-    m_shutting_down (false),
-    m_waiting_for_accept (false)
-{
-    m_write_sp.reset(new File(fd, owns_fd));
-    m_read_sp.reset(new File(fd, false));
-
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION |  LIBLLDB_LOG_OBJECT));
-    if (log)
-        log->Printf ("%p ConnectionFileDescriptor::ConnectionFileDescriptor (fd = %i, owns_fd = %i)",
-                     static_cast<void*>(this), fd, owns_fd);
-    OpenCommandPipe ();
-}
-
-
-ConnectionFileDescriptor::~ConnectionFileDescriptor ()
-{
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION |  LIBLLDB_LOG_OBJECT));
-    if (log)
-        log->Printf ("%p ConnectionFileDescriptor::~ConnectionFileDescriptor ()",
-                     static_cast<void*>(this));
-    Disconnect (NULL);
-    CloseCommandPipe ();
-}
-
-void
-ConnectionFileDescriptor::OpenCommandPipe ()
-{
-    CloseCommandPipe();
-
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION));
-    // Make the command file descriptor here:
-    if (!m_pipe.Open())
-    {
-        if (log)
-            log->Printf ("%p ConnectionFileDescriptor::OpenCommandPipe () - could not make pipe: %s",
-                         static_cast<void*>(this), strerror(errno));
-    }
-    else
-    {
-        if (log)
-            log->Printf ("%p ConnectionFileDescriptor::OpenCommandPipe() - success readfd=%d writefd=%d",
-                         static_cast<void*>(this),
-                         m_pipe.GetReadFileDescriptor(),
-                         m_pipe.GetWriteFileDescriptor());
-    }
-}
-
-void
-ConnectionFileDescriptor::CloseCommandPipe ()
-{
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION));
-    if (log)
-        log->Printf ("%p ConnectionFileDescriptor::CloseCommandPipe()",
-                     static_cast<void*>(this));
-
-    m_pipe.Close();
-}
-
-bool
-ConnectionFileDescriptor::IsConnected () const
-{
-    return (m_read_sp && m_read_sp->IsValid()) || (m_write_sp && m_write_sp->IsValid());
-}
-
-ConnectionStatus
-ConnectionFileDescriptor::Connect (const char *s, Error *error_ptr)
-{
-    Mutex::Locker locker (m_mutex);
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION));
-    if (log)
-        log->Printf ("%p ConnectionFileDescriptor::Connect (url = '%s')",
-                     static_cast<void*>(this), s);
-
-    OpenCommandPipe();
-
-    if (s && s[0])
-    {
-        if (strstr(s, "listen://") == s)
-        {
-            // listen://HOST:PORT
-            return SocketListen (s + strlen("listen://"), error_ptr);
-        }
-        else if (strstr(s, "accept://") == s)
-        {
-            // unix://SOCKNAME
-            return NamedSocketAccept (s + strlen("accept://"), error_ptr);
-        }
-        else if (strstr(s, "unix-accept://") == s)
-        {
-            // unix://SOCKNAME
-            return NamedSocketAccept (s + strlen("unix-accept://"), error_ptr);
-        }
-        else if (strstr(s, "connect://") == s)
-        {
-            return ConnectTCP (s + strlen("connect://"), error_ptr);
-        }
-        else if (strstr(s, "tcp-connect://") == s)
-        {
-            return ConnectTCP (s + strlen("tcp-connect://"), error_ptr);
-        }
-        else if (strstr(s, "udp://") == s)
-        {
-            return ConnectUDP (s + strlen("udp://"), error_ptr);
-        }
-#ifndef LLDB_DISABLE_POSIX
-        else if (strstr(s, "fd://") == s)
-        {
-            // Just passing a native file descriptor within this current process
-            // that is already opened (possibly from a service or other source).
-            s += strlen ("fd://");
-            bool success = false;
-            int fd = Args::StringToSInt32 (s, -1, 0, &success);
-
-            if (success)
-            {
-                // We have what looks to be a valid file descriptor, but we 
-                // should make sure it is. We currently are doing this by trying to
-                // get the flags from the file descriptor and making sure it 
-                // isn't a bad fd.
-                errno = 0;
-                int flags = ::fcntl (fd, F_GETFL, 0);
-                if (flags == -1 || errno == EBADF)
-                {
-                    if (error_ptr)
-                        error_ptr->SetErrorStringWithFormat ("stale file descriptor: %s", s);
-                    m_read_sp.reset();
-                    m_write_sp.reset();
-                    return eConnectionStatusError;
-                }
-                else
-                {
-                    // Don't take ownership of a file descriptor that gets passed
-                    // to us since someone else opened the file descriptor and
-                    // handed it to us. 
-                    // TODO: Since are using a URL to open connection we should 
-                    // eventually parse options using the web standard where we
-                    // have "fd://123?opt1=value;opt2=value" and we can have an
-                    // option be "owns=1" or "owns=0" or something like this to
-                    // allow us to specify this. For now, we assume we must 
-                    // assume we don't own it.
-
-                    std::unique_ptr<Socket> tcp_socket;
-                    tcp_socket.reset(new Socket(fd, Socket::ProtocolTcp, false));
-                    // Try and get a socket option from this file descriptor to 
-                    // see if this is a socket and set m_is_socket accordingly.
-                    int resuse;
-                    bool is_socket = !!tcp_socket->GetOption(SOL_SOCKET, SO_REUSEADDR, resuse);
-                    if (is_socket)
-                    {
-                        m_read_sp = std::move(tcp_socket);
-                        m_write_sp = m_read_sp;
-                    }
-                    else
-                    {
-                        m_read_sp.reset(new File(fd, false));
-                        m_write_sp.reset(new File(fd, false));
-                    }
-                    return eConnectionStatusSuccess;
-                }
-            }
-
-            if (error_ptr)
-                error_ptr->SetErrorStringWithFormat ("invalid file descriptor: \"fd://%s\"", s);
-            m_read_sp.reset();
-            m_write_sp.reset();
-            return eConnectionStatusError;
-        }
-        else if (strstr(s, "file://") == s)
-        {
-            // file:///PATH
-            const char *path = s + strlen("file://");
-            int fd = -1;
-            do
-            {
-                fd = ::open (path, O_RDWR);
-            } while (fd == -1 && errno == EINTR);
-
-            if (fd == -1)
-            {
-                if (error_ptr)
-                    error_ptr->SetErrorToErrno();
-                return eConnectionStatusError;
-            }
-
-            if (::isatty(fd))
-            {
-                // Set up serial terminal emulation
-                struct termios options;
-                ::tcgetattr (fd, &options);
-
-                // Set port speed to maximum
-                ::cfsetospeed (&options, B115200);
-                ::cfsetispeed (&options, B115200);
-
-                // Raw input, disable echo and signals
-                options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
-
-                // Make sure only one character is needed to return from a read
-                options.c_cc[VMIN]  = 1;
-                options.c_cc[VTIME] = 0;
-
-                ::tcsetattr (fd, TCSANOW, &options);
-            }
-
-            int flags = ::fcntl (fd, F_GETFL, 0);
-            if (flags >= 0)
-            {
-                if ((flags & O_NONBLOCK) == 0)
-                {
-                    flags |= O_NONBLOCK;
-                    ::fcntl (fd, F_SETFL, flags);
-                }
-            }
-            m_read_sp.reset(new File(fd, true));
-            m_write_sp.reset(new File(fd, false));
-            return eConnectionStatusSuccess;
-        }
-#endif
-        if (error_ptr)
-            error_ptr->SetErrorStringWithFormat ("unsupported connection URL: '%s'", s);
-        return eConnectionStatusError;
-    }
-    if (error_ptr)
-        error_ptr->SetErrorString("invalid connect arguments");
-    return eConnectionStatusError;
-}
-
-bool
-ConnectionFileDescriptor::InterruptRead()
-{
-    return m_pipe.Write("i", 1) == 1;
-}
-
-ConnectionStatus
-ConnectionFileDescriptor::Disconnect (Error *error_ptr)
-{
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION));
-    if (log)
-        log->Printf ("%p ConnectionFileDescriptor::Disconnect ()",
-                     static_cast<void*>(this));
-
-    ConnectionStatus status = eConnectionStatusSuccess;
-
-    if (!IsConnected())
-    {
-        if (log)
-            log->Printf ("%p ConnectionFileDescriptor::Disconnect(): Nothing to disconnect",
-                         static_cast<void*>(this));
-        return eConnectionStatusSuccess;
-    }
-
-    if (m_read_sp && m_read_sp->IsValid() && m_read_sp->GetFdType() == IOObject::eFDTypeSocket)
-        static_cast<Socket&>(*m_read_sp).PreDisconnect();
-
-    // Try to get the ConnectionFileDescriptor's mutex.  If we fail, that is quite likely
-    // because somebody is doing a blocking read on our file descriptor.  If that's the case,
-    // then send the "q" char to the command file channel so the read will wake up and the connection
-    // will then know to shut down.
-
-    m_shutting_down = true;
-
-    Mutex::Locker locker;
-    bool got_lock = locker.TryLock (m_mutex);
-
-    if (!got_lock)
-    {
-        if (m_pipe.WriteDescriptorIsValid())
-        {
-            int result;
-            result = m_pipe.Write("q", 1) == 1;
-            if (log)
-                log->Printf ("%p ConnectionFileDescriptor::Disconnect(): Couldn't get the lock, sent 'q' to %d, result = %d.",
-                             static_cast<void*>(this), m_pipe.GetWriteFileDescriptor(), result);
-        }
-        else if (log)
-        {
-            log->Printf ("%p ConnectionFileDescriptor::Disconnect(): Couldn't get the lock, but no command pipe is available.",
-                         static_cast<void*>(this));
-        }
-        locker.Lock (m_mutex);
-    }
-
-    Error error = m_read_sp->Close();
-    Error error2 = m_write_sp->Close();
-    if (error.Fail() || error2.Fail())
-        status = eConnectionStatusError;
-    if (error_ptr)
-        *error_ptr = error.Fail() ? error : error2;
-
-    m_shutting_down = false;
-    return status;
-}
-
-size_t
-ConnectionFileDescriptor::Read (void *dst, 
-                                size_t dst_len, 
-                                uint32_t timeout_usec,
-                                ConnectionStatus &status, 
-                                Error *error_ptr)
-{
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION));
-
-    Mutex::Locker locker;
-    bool got_lock = locker.TryLock (m_mutex);
-    if (!got_lock)
-    {
-        if (log)
-            log->Printf ("%p ConnectionFileDescriptor::Read () failed to get the connection lock.",
-                         static_cast<void*>(this));
-        if (error_ptr)
-            error_ptr->SetErrorString ("failed to get the connection lock for read.");
-
-        status = eConnectionStatusTimedOut;
-        return 0;
-    }
-    else if (m_shutting_down)
-        return eConnectionStatusError;
-
-    status = BytesAvailable (timeout_usec, error_ptr);
-    if (status != eConnectionStatusSuccess)
-        return 0;
-
-    Error error;
-    size_t bytes_read = dst_len;
-    error = m_read_sp->Read(dst, bytes_read);
-
-    if (log)
-    {
-        log->Printf("%p ConnectionFileDescriptor::Read()  fd = %" PRIu64 ", dst = %p, dst_len = %" PRIu64 ") => %" PRIu64 ", error = %s",
-                    static_cast<void*>(this),
-                    static_cast<uint64_t>(m_read_sp->GetWaitableHandle()),
-                    static_cast<void*>(dst),
-                    static_cast<uint64_t>(dst_len),
-                    static_cast<uint64_t>(bytes_read),
-                    error.AsCString());
-    }
-
-    if (bytes_read == 0)
-    {
-        error.Clear(); // End-of-file.  Do not automatically close; pass along for the end-of-file handlers.
-        status = eConnectionStatusEndOfFile;
-    }
-
-    if (error_ptr)
-        *error_ptr = error;
-
-    if (error.Fail())
-    {
-        uint32_t error_value = error.GetError();
-        switch (error_value)
-        {
-        case EAGAIN:    // The file was marked for non-blocking I/O, and no data were ready to be read.
-            if (m_read_sp->GetFdType() == IOObject::eFDTypeSocket)
-                status = eConnectionStatusTimedOut;
-            else
-                status = eConnectionStatusSuccess;
-            return 0;
-
-        case EFAULT:    // Buf points outside the allocated address space.
-        case EINTR:     // A read from a slow device was interrupted before any data arrived by the delivery of a signal.
-        case EINVAL:    // The pointer associated with fildes was negative.
-        case EIO:       // An I/O error occurred while reading from the file system.
-                        // The process group is orphaned.
-                        // The file is a regular file, nbyte is greater than 0,
-                        // the starting position is before the end-of-file, and
-                        // the starting position is greater than or equal to the
-                        // offset maximum established for the open file
-                        // descriptor associated with fildes.
-        case EISDIR:    // An attempt is made to read a directory.
-        case ENOBUFS:   // An attempt to allocate a memory buffer fails.
-        case ENOMEM:    // Insufficient memory is available.
-            status = eConnectionStatusError;
-            break;  // Break to close....
-
-        case ENOENT:    // no such file or directory
-        case EBADF:     // fildes is not a valid file or socket descriptor open for reading.
-        case ENXIO:     // An action is requested of a device that does not exist..
-                        // A requested action cannot be performed by the device.
-        case ECONNRESET:// The connection is closed by the peer during a read attempt on a socket.
-        case ENOTCONN:  // A read is attempted on an unconnected socket.
-            status = eConnectionStatusLostConnection;
-            break;  // Break to close....
-
-        case ETIMEDOUT: // A transmission timeout occurs during a read attempt on a socket.
-            status = eConnectionStatusTimedOut;
-            return 0;
-
-        default:
-            if (log)
-                log->Printf("%p ConnectionFileDescriptor::Read (), unexpected error: %s",
-                            static_cast<void*>(this), strerror(error_value));
-            status = eConnectionStatusError;
-            break;  // Break to close....
-
-        }
-
-        return 0;
-    }
-    return bytes_read;
-}
-
-size_t
-ConnectionFileDescriptor::Write (const void *src, size_t src_len, ConnectionStatus &status, Error *error_ptr)
-{
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION));
-    if (log)
-        log->Printf ("%p ConnectionFileDescriptor::Write (src = %p, src_len = %" PRIu64 ")",
-                     static_cast<void*>(this), static_cast<const void*>(src),
-                     static_cast<uint64_t>(src_len));
-
-    if (!IsConnected ())
-    {
-        if (error_ptr)
-            error_ptr->SetErrorString("not connected");
-        status = eConnectionStatusNoConnection;
-        return 0;
-    }
-
-
-    Error error;
-
-    size_t bytes_sent = src_len;
-    error = m_write_sp->Write(src, bytes_sent);
-
-    if (log)
-    {
-        log->Printf ("%p ConnectionFileDescriptor::Write(fd = %" PRIu64 ", src = %p, src_len = %" PRIu64 ") => %" PRIu64 " (error = %s)",
-                     static_cast<void*>(this),
-                     static_cast<uint64_t>(m_write_sp->GetWaitableHandle()),
-                     static_cast<const void*>(src),
-                     static_cast<uint64_t>(src_len),
-                     static_cast<uint64_t>(bytes_sent),
-                     error.AsCString());
-    }
-
-    if (error_ptr)
-        *error_ptr = error;
-
-    if (error.Fail())
-    {
-        switch (error.GetError())
-        {
-        case EAGAIN:
-        case EINTR:
-            status = eConnectionStatusSuccess;
-            return 0;
-
-        case ECONNRESET:// The connection is closed by the peer during a read attempt on a socket.
-        case ENOTCONN:  // A read is attempted on an unconnected socket.
-            status = eConnectionStatusLostConnection;
-            break;  // Break to close....
-
-        default:
-            status = eConnectionStatusError;
-            break;  // Break to close....
-        }
-
-        return 0;
-    }
-
-    status = eConnectionStatusSuccess;
-    return bytes_sent;
-}
-
-
-
-// This ConnectionFileDescriptor::BytesAvailable() uses select().
-//
-// PROS:
-//  - select is consistent across most unix platforms
-//  - The Apple specific version allows for unlimited fds in the fd_sets by
-//    setting the _DARWIN_UNLIMITED_SELECT define prior to including the
-//    required header files.
-// CONS:
-//  - on non-Apple platforms, only supports file descriptors up to FD_SETSIZE.
-//     This implementation  will assert if it runs into that hard limit to let
-//     users know that another ConnectionFileDescriptor::BytesAvailable() should
-//     be used or a new version of ConnectionFileDescriptor::BytesAvailable()
-//     should be written for the system that is running into the limitations.
-
-#if defined(__APPLE__)
-#define FD_SET_DATA(fds) fds.data()
-#else
-#define FD_SET_DATA(fds) &fds
-#endif
-
-ConnectionStatus
-ConnectionFileDescriptor::BytesAvailable (uint32_t timeout_usec, Error *error_ptr)
-{
-    // Don't need to take the mutex here separately since we are only called from Read.  If we
-    // ever get used more generally we will need to lock here as well.
-
-    Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_CONNECTION));
-    if (log)
-        log->Printf("%p ConnectionFileDescriptor::BytesAvailable (timeout_usec = %u)",
-                    static_cast<void*>(this), timeout_usec);
-
-    struct timeval *tv_ptr;
-    struct timeval tv;
-    if (timeout_usec == UINT32_MAX)
-    {
-        // Inifinite wait...
-        tv_ptr = nullptr;
-    }
-    else
-    {
-        TimeValue time_value;
-        time_value.OffsetWithMicroSeconds (timeout_usec);
-        tv.tv_sec = time_value.seconds();
-        tv.tv_usec = time_value.microseconds();
-        tv_ptr = &tv;
-    }
-
-    // Make a copy of the file descriptors to make sure we don't
-    // have another thread change these values out from under us
-    // and cause problems in the loop below where like in FS_SET()
-    const IOObject::WaitableHandle handle = m_read_sp->GetWaitableHandle();
-    const int pipe_fd = m_pipe.GetReadFileDescriptor();
-
-    if (handle != IOObject::kInvalidHandleValue)
-    {
-#if defined(_MSC_VER)
-        // select() won't accept pipes on Windows.  The entire Windows codepath needs to be
-        // converted over to using WaitForMultipleObjects and event HANDLEs, but for now at least
-        // this will allow ::select() to not return an error.
-        const bool have_pipe_fd = false;
-#else
-        const bool have_pipe_fd = pipe_fd >= 0;
-#if !defined(__APPLE__)
-        assert (handle < FD_SETSIZE);
-        if (have_pipe_fd)
-            assert (pipe_fd < FD_SETSIZE);
-#endif
-#endif
-        while (handle == m_read_sp->GetWaitableHandle())
-        {
-            const int nfds = std::max<int>(handle, pipe_fd) + 1;
-#if defined(__APPLE__)
-            llvm::SmallVector<fd_set, 1> read_fds;
-            read_fds.resize((nfds/FD_SETSIZE) + 1);
-            for (size_t i=0; i<read_fds.size(); ++i)
-                FD_ZERO (&read_fds[i]);
-            // FD_SET doesn't bounds check, it just happily walks off the end
-            // but we have taken care of making the extra storage with our
-            // SmallVector of fd_set objects
-#else
-            fd_set read_fds;
-            FD_ZERO (&read_fds);
-#endif
-            FD_SET (handle, FD_SET_DATA(read_fds));
-            if (have_pipe_fd)
-                FD_SET (pipe_fd, FD_SET_DATA(read_fds));
-
-            Error error;
-
-            if (log)
-            {
-                if (have_pipe_fd)
-                    log->Printf("%p ConnectionFileDescriptor::BytesAvailable()  ::select (nfds=%i, fds={%i, %i}, NULL, NULL, timeout=%p)...",
-                                static_cast<void*>(this), nfds, handle, pipe_fd,
-                                static_cast<void*>(tv_ptr));
-                else
-                    log->Printf("%p ConnectionFileDescriptor::BytesAvailable()  ::select (nfds=%i, fds={%i}, NULL, NULL, timeout=%p)...",
-                                static_cast<void*>(this), nfds, handle,
-                                static_cast<void*>(tv_ptr));
-            }
-
-            const int num_set_fds = ::select (nfds, FD_SET_DATA(read_fds), NULL, NULL, tv_ptr);
-            if (num_set_fds < 0)
-                error.SetErrorToErrno();
-            else
-                error.Clear();
-
-            if (log)
-            {
-                if (have_pipe_fd)
-                    log->Printf("%p ConnectionFileDescriptor::BytesAvailable()  ::select (nfds=%i, fds={%i, %i}, NULL, NULL, timeout=%p) => %d, error = %s",
-                                static_cast<void*>(this), nfds, handle,
-                                pipe_fd, static_cast<void*>(tv_ptr), num_set_fds,
-                                error.AsCString());
-                else
-                    log->Printf("%p ConnectionFileDescriptor::BytesAvailable()  ::select (nfds=%i, fds={%i}, NULL, NULL, timeout=%p) => %d, error = %s",
-                                static_cast<void*>(this), nfds, handle,
-                                static_cast<void*>(tv_ptr), num_set_fds,
-                                error.AsCString());
-            }
-
-            if (error_ptr)
-                *error_ptr = error;
-
-            if (error.Fail())
-            {
-                switch (error.GetError())
-                {
-                    case EBADF:     // One of the descriptor sets specified an invalid descriptor.
-                        return eConnectionStatusLostConnection;
-
-                    case EINVAL:    // The specified time limit is invalid. One of its components is negative or too large.
-                    default:        // Other unknown error
-                        return eConnectionStatusError;
-
-                    case EAGAIN:    // The kernel was (perhaps temporarily) unable to
-                        // allocate the requested number of file descriptors,
-                        // or we have non-blocking IO
-                    case EINTR:     // A signal was delivered before the time limit
-                        // expired and before any of the selected events
-                        // occurred.
-                        break;      // Lets keep reading to until we timeout
-                }
-            }
-            else if (num_set_fds == 0)
-            {
-                return eConnectionStatusTimedOut;
-            }
-            else if (num_set_fds > 0)
-            {
-                if (FD_ISSET(handle, FD_SET_DATA(read_fds)))
-                    return eConnectionStatusSuccess;
-                if (have_pipe_fd && FD_ISSET(pipe_fd, FD_SET_DATA(read_fds)))
-                {
-                    // We got a command to exit.  Read the data from that pipe:
-                    char buffer[16];
-                    ssize_t bytes_read;
-
-                    do
-                    {
-                        bytes_read = ::read (pipe_fd, buffer, sizeof(buffer));
-                    } while (bytes_read < 0 && errno == EINTR);
-                    
-                    switch (buffer[0])
-                    {
-                    case 'q':
-                        if (log)
-                            log->Printf("%p ConnectionFileDescriptor::BytesAvailable() got data: %*s from the command channel.",
-                                        static_cast<void*>(this),
-                                        static_cast<int>(bytes_read), buffer);
-                        return eConnectionStatusEndOfFile;
-                    case 'i':
-                        // Interrupt the current read
-                        return eConnectionStatusInterrupted;
-                    }
-                }
-            }
-        }
-    }
-
-    if (error_ptr)
-        error_ptr->SetErrorString("not connected");
-    return eConnectionStatusLostConnection;
-}
-
-ConnectionStatus
-ConnectionFileDescriptor::NamedSocketAccept (const char *socket_name, Error *error_ptr)
-{
-    Socket* socket = nullptr;
-    Error error = Socket::UnixDomainAccept(socket_name, socket);
-    if (error_ptr)
-        *error_ptr = error;
-    m_write_sp.reset(socket);
-    m_read_sp = m_write_sp;
-    return (error.Success()) ? eConnectionStatusSuccess : eConnectionStatusError;
-}
-
-ConnectionStatus
-ConnectionFileDescriptor::NamedSocketConnect (const char *socket_name, Error *error_ptr)
-{
-    Socket* socket = nullptr;
-    Error error = Socket::UnixDomainConnect(socket_name, socket);
-    if (error_ptr)
-        *error_ptr = error;
-    m_write_sp.reset(socket);
-    m_read_sp = m_write_sp;
-    return (error.Success()) ? eConnectionStatusSuccess : eConnectionStatusError;
-}
-
-ConnectionStatus
-ConnectionFileDescriptor::SocketListen(const char *s, Error *error_ptr)
-{
-    m_port_predicate.SetValue(0, eBroadcastNever);
-
-    Socket* socket = nullptr;
-    m_waiting_for_accept = true;
-    Error error = Socket::TcpListen(s, socket, &m_port_predicate);
-    if (error_ptr)
-        *error_ptr = error;
-    if (error.Fail())
-        return eConnectionStatusError;
-
-    std::unique_ptr<Socket> listening_socket_up;
-
-    listening_socket_up.reset(socket);
-    socket = nullptr;
-    error = listening_socket_up->BlockingAccept(s, socket);
-    listening_socket_up.reset();
-    if (error_ptr)
-        *error_ptr = error;
-    if (error.Fail())
-        return eConnectionStatusError;
-
-    m_write_sp.reset(socket);
-    m_read_sp = m_write_sp;
-    return (error.Success()) ? eConnectionStatusSuccess : eConnectionStatusError;
-}
-
-ConnectionStatus
-ConnectionFileDescriptor::ConnectTCP(const char *s, Error *error_ptr)
-{
-    Socket* socket = nullptr;
-    Error error = Socket::TcpConnect(s, socket);
-    if (error_ptr)
-        *error_ptr = error;
-    m_write_sp.reset(socket);
-    m_read_sp = m_write_sp;
-    return (error.Success()) ? eConnectionStatusSuccess : eConnectionStatusError;
-}
-
-ConnectionStatus
-ConnectionFileDescriptor::ConnectUDP(const char *s, Error *error_ptr)
-{
-    Socket* send_socket = nullptr;
-    Socket* recv_socket = nullptr;
-    Error error = Socket::UdpConnect(s, send_socket, recv_socket);
-    if (error_ptr)
-        *error_ptr = error;
-    m_write_sp.reset(send_socket);
-    m_read_sp.reset(recv_socket);
-    return (error.Success()) ? eConnectionStatusSuccess : eConnectionStatusError;
-}
-
-
-uint16_t ConnectionFileDescriptor::GetListeningPort(uint32_t timeout_sec)
-{
-    uint16_t bound_port = 0;
-    if (timeout_sec == UINT32_MAX)
-        m_port_predicate.WaitForValueNotEqualTo (0, bound_port);
-    else
-    {
-        TimeValue timeout = TimeValue::Now();
-        timeout.OffsetWithSeconds(timeout_sec);
-        m_port_predicate.WaitForValueNotEqualTo (0, bound_port, &timeout);
-    }
-    return bound_port;
-}

Modified: lldb/trunk/source/Core/Debugger.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/Debugger.cpp?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/source/Core/Debugger.cpp (original)
+++ lldb/trunk/source/Core/Debugger.cpp Mon Oct  6 16:22:36 2014
@@ -18,7 +18,6 @@
 #include "llvm/ADT/StringRef.h"
 
 #include "lldb/lldb-private.h"
-#include "lldb/Core/ConnectionFileDescriptor.h"
 #include "lldb/Core/Module.h"
 #include "lldb/Core/PluginManager.h"
 #include "lldb/Core/RegisterValue.h"
@@ -34,6 +33,7 @@
 #include "lldb/DataFormatters/DataVisualization.h"
 #include "lldb/DataFormatters/FormatManager.h"
 #include "lldb/DataFormatters/TypeSummary.h"
+#include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/HostInfo.h"
 #include "lldb/Host/Terminal.h"
 #include "lldb/Host/ThreadLauncher.h"

Modified: lldb/trunk/source/Host/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/CMakeLists.txt?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/source/Host/CMakeLists.txt (original)
+++ lldb/trunk/source/Host/CMakeLists.txt Mon Oct  6 16:22:36 2014
@@ -33,6 +33,10 @@ add_host_subdirectory(common
   common/TimeValue.cpp
   )
 
+add_host_subdirectory(posix
+  posix/ConnectionFileDescriptorPosix.cpp
+  )
+
 if (CMAKE_SYSTEM_NAME MATCHES "Windows")
   add_host_subdirectory(windows
     windows/Condition.cpp

Modified: lldb/trunk/source/Host/macosx/Host.mm
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/macosx/Host.mm?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/source/Host/macosx/Host.mm (original)
+++ lldb/trunk/source/Host/macosx/Host.mm Mon Oct  6 16:22:36 2014
@@ -39,12 +39,12 @@
 
 #include "lldb/Core/ArchSpec.h"
 #include "lldb/Core/Communication.h"
-#include "lldb/Core/ConnectionFileDescriptor.h"
 #include "lldb/Core/DataExtractor.h"
 #include "lldb/Core/Log.h"
 #include "lldb/Core/Module.h"
 #include "lldb/Core/StreamFile.h"
 #include "lldb/Core/StreamString.h"
+#include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/Endian.h"
 #include "lldb/Host/FileSpec.h"
 #include "lldb/Host/FileSystem.h"

Copied: lldb/trunk/source/Host/posix/ConnectionFileDescriptorPosix.cpp (from r219142, lldb/trunk/source/Core/ConnectionFileDescriptor.cpp)
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/posix/ConnectionFileDescriptorPosix.cpp?p2=lldb/trunk/source/Host/posix/ConnectionFileDescriptorPosix.cpp&p1=lldb/trunk/source/Core/ConnectionFileDescriptor.cpp&r1=219142&r2=219143&rev=219143&view=diff
==============================================================================
--- lldb/trunk/source/Core/ConnectionFileDescriptor.cpp (original)
+++ lldb/trunk/source/Host/posix/ConnectionFileDescriptorPosix.cpp Mon Oct  6 16:22:36 2014
@@ -1,4 +1,4 @@
-//===-- ConnectionFileDescriptor.cpp ----------------------------*- C++ -*-===//
+//===-- ConnectionFileDescriptorPosix.cpp -----------------------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
@@ -14,7 +14,7 @@
 #define _DARWIN_UNLIMITED_SELECT
 #endif
 
-#include "lldb/Core/ConnectionFileDescriptor.h"
+#include "lldb/Host/posix/ConnectionFileDescriptorPosix.h"
 #include "lldb/Host/Config.h"
 #include "lldb/Host/IOObject.h"
 #include "lldb/Host/SocketAddress.h"
@@ -46,99 +46,91 @@
 #include "lldb/Host/Socket.h"
 #include "lldb/Interpreter/Args.h"
 
-
 using namespace lldb;
 using namespace lldb_private;
 
-ConnectionFileDescriptor::ConnectionFileDescriptor () :
-    Connection(),
-    m_pipe (),
-    m_mutex (Mutex::eMutexTypeRecursive),
-    m_shutting_down (false),
-    m_waiting_for_accept (false)
+ConnectionFileDescriptor::ConnectionFileDescriptor()
+    : Connection()
+    , m_pipe()
+    , m_mutex(Mutex::eMutexTypeRecursive)
+    , m_shutting_down(false)
+    , m_waiting_for_accept(false)
 {
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION |  LIBLLDB_LOG_OBJECT));
+    Log *log(lldb_private::GetLogIfAnyCategoriesSet(LIBLLDB_LOG_CONNECTION | LIBLLDB_LOG_OBJECT));
     if (log)
-        log->Printf ("%p ConnectionFileDescriptor::ConnectionFileDescriptor ()",
-                     static_cast<void*>(this));
+        log->Printf("%p ConnectionFileDescriptor::ConnectionFileDescriptor ()", static_cast<void *>(this));
 }
 
-ConnectionFileDescriptor::ConnectionFileDescriptor (int fd, bool owns_fd) :
-    Connection(),
-    m_pipe (),
-    m_mutex (Mutex::eMutexTypeRecursive),
-    m_shutting_down (false),
-    m_waiting_for_accept (false)
+ConnectionFileDescriptor::ConnectionFileDescriptor(int fd, bool owns_fd)
+    : Connection()
+    , m_pipe()
+    , m_mutex(Mutex::eMutexTypeRecursive)
+    , m_shutting_down(false)
+    , m_waiting_for_accept(false)
 {
     m_write_sp.reset(new File(fd, owns_fd));
     m_read_sp.reset(new File(fd, false));
 
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION |  LIBLLDB_LOG_OBJECT));
+    Log *log(lldb_private::GetLogIfAnyCategoriesSet(LIBLLDB_LOG_CONNECTION | LIBLLDB_LOG_OBJECT));
     if (log)
-        log->Printf ("%p ConnectionFileDescriptor::ConnectionFileDescriptor (fd = %i, owns_fd = %i)",
-                     static_cast<void*>(this), fd, owns_fd);
-    OpenCommandPipe ();
+        log->Printf("%p ConnectionFileDescriptor::ConnectionFileDescriptor (fd = %i, owns_fd = %i)", static_cast<void *>(this), fd,
+                    owns_fd);
+    OpenCommandPipe();
 }
 
-
-ConnectionFileDescriptor::~ConnectionFileDescriptor ()
+ConnectionFileDescriptor::~ConnectionFileDescriptor()
 {
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION |  LIBLLDB_LOG_OBJECT));
+    Log *log(lldb_private::GetLogIfAnyCategoriesSet(LIBLLDB_LOG_CONNECTION | LIBLLDB_LOG_OBJECT));
     if (log)
-        log->Printf ("%p ConnectionFileDescriptor::~ConnectionFileDescriptor ()",
-                     static_cast<void*>(this));
-    Disconnect (NULL);
-    CloseCommandPipe ();
+        log->Printf("%p ConnectionFileDescriptor::~ConnectionFileDescriptor ()", static_cast<void *>(this));
+    Disconnect(NULL);
+    CloseCommandPipe();
 }
 
 void
-ConnectionFileDescriptor::OpenCommandPipe ()
+ConnectionFileDescriptor::OpenCommandPipe()
 {
     CloseCommandPipe();
 
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION));
+    Log *log(lldb_private::GetLogIfAnyCategoriesSet(LIBLLDB_LOG_CONNECTION));
     // Make the command file descriptor here:
     if (!m_pipe.Open())
     {
         if (log)
-            log->Printf ("%p ConnectionFileDescriptor::OpenCommandPipe () - could not make pipe: %s",
-                         static_cast<void*>(this), strerror(errno));
+            log->Printf("%p ConnectionFileDescriptor::OpenCommandPipe () - could not make pipe: %s", static_cast<void *>(this),
+                        strerror(errno));
     }
     else
     {
         if (log)
-            log->Printf ("%p ConnectionFileDescriptor::OpenCommandPipe() - success readfd=%d writefd=%d",
-                         static_cast<void*>(this),
-                         m_pipe.GetReadFileDescriptor(),
-                         m_pipe.GetWriteFileDescriptor());
+            log->Printf("%p ConnectionFileDescriptor::OpenCommandPipe() - success readfd=%d writefd=%d", static_cast<void *>(this),
+                        m_pipe.GetReadFileDescriptor(), m_pipe.GetWriteFileDescriptor());
     }
 }
 
 void
-ConnectionFileDescriptor::CloseCommandPipe ()
+ConnectionFileDescriptor::CloseCommandPipe()
 {
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION));
+    Log *log(lldb_private::GetLogIfAnyCategoriesSet(LIBLLDB_LOG_CONNECTION));
     if (log)
-        log->Printf ("%p ConnectionFileDescriptor::CloseCommandPipe()",
-                     static_cast<void*>(this));
+        log->Printf("%p ConnectionFileDescriptor::CloseCommandPipe()", static_cast<void *>(this));
 
     m_pipe.Close();
 }
 
 bool
-ConnectionFileDescriptor::IsConnected () const
+ConnectionFileDescriptor::IsConnected() const
 {
     return (m_read_sp && m_read_sp->IsValid()) || (m_write_sp && m_write_sp->IsValid());
 }
 
 ConnectionStatus
-ConnectionFileDescriptor::Connect (const char *s, Error *error_ptr)
+ConnectionFileDescriptor::Connect(const char *s, Error *error_ptr)
 {
-    Mutex::Locker locker (m_mutex);
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION));
+    Mutex::Locker locker(m_mutex);
+    Log *log(lldb_private::GetLogIfAnyCategoriesSet(LIBLLDB_LOG_CONNECTION));
     if (log)
-        log->Printf ("%p ConnectionFileDescriptor::Connect (url = '%s')",
-                     static_cast<void*>(this), s);
+        log->Printf("%p ConnectionFileDescriptor::Connect (url = '%s')", static_cast<void *>(this), s);
 
     OpenCommandPipe();
 
@@ -147,51 +139,51 @@ ConnectionFileDescriptor::Connect (const
         if (strstr(s, "listen://") == s)
         {
             // listen://HOST:PORT
-            return SocketListen (s + strlen("listen://"), error_ptr);
+            return SocketListen(s + strlen("listen://"), error_ptr);
         }
         else if (strstr(s, "accept://") == s)
         {
             // unix://SOCKNAME
-            return NamedSocketAccept (s + strlen("accept://"), error_ptr);
+            return NamedSocketAccept(s + strlen("accept://"), error_ptr);
         }
         else if (strstr(s, "unix-accept://") == s)
         {
             // unix://SOCKNAME
-            return NamedSocketAccept (s + strlen("unix-accept://"), error_ptr);
+            return NamedSocketAccept(s + strlen("unix-accept://"), error_ptr);
         }
         else if (strstr(s, "connect://") == s)
         {
-            return ConnectTCP (s + strlen("connect://"), error_ptr);
+            return ConnectTCP(s + strlen("connect://"), error_ptr);
         }
         else if (strstr(s, "tcp-connect://") == s)
         {
-            return ConnectTCP (s + strlen("tcp-connect://"), error_ptr);
+            return ConnectTCP(s + strlen("tcp-connect://"), error_ptr);
         }
         else if (strstr(s, "udp://") == s)
         {
-            return ConnectUDP (s + strlen("udp://"), error_ptr);
+            return ConnectUDP(s + strlen("udp://"), error_ptr);
         }
 #ifndef LLDB_DISABLE_POSIX
         else if (strstr(s, "fd://") == s)
         {
             // Just passing a native file descriptor within this current process
             // that is already opened (possibly from a service or other source).
-            s += strlen ("fd://");
+            s += strlen("fd://");
             bool success = false;
-            int fd = Args::StringToSInt32 (s, -1, 0, &success);
+            int fd = Args::StringToSInt32(s, -1, 0, &success);
 
             if (success)
             {
-                // We have what looks to be a valid file descriptor, but we 
+                // We have what looks to be a valid file descriptor, but we
                 // should make sure it is. We currently are doing this by trying to
-                // get the flags from the file descriptor and making sure it 
+                // get the flags from the file descriptor and making sure it
                 // isn't a bad fd.
                 errno = 0;
-                int flags = ::fcntl (fd, F_GETFL, 0);
+                int flags = ::fcntl(fd, F_GETFL, 0);
                 if (flags == -1 || errno == EBADF)
                 {
                     if (error_ptr)
-                        error_ptr->SetErrorStringWithFormat ("stale file descriptor: %s", s);
+                        error_ptr->SetErrorStringWithFormat("stale file descriptor: %s", s);
                     m_read_sp.reset();
                     m_write_sp.reset();
                     return eConnectionStatusError;
@@ -200,17 +192,17 @@ ConnectionFileDescriptor::Connect (const
                 {
                     // Don't take ownership of a file descriptor that gets passed
                     // to us since someone else opened the file descriptor and
-                    // handed it to us. 
-                    // TODO: Since are using a URL to open connection we should 
+                    // handed it to us.
+                    // TODO: Since are using a URL to open connection we should
                     // eventually parse options using the web standard where we
                     // have "fd://123?opt1=value;opt2=value" and we can have an
                     // option be "owns=1" or "owns=0" or something like this to
-                    // allow us to specify this. For now, we assume we must 
+                    // allow us to specify this. For now, we assume we must
                     // assume we don't own it.
 
                     std::unique_ptr<Socket> tcp_socket;
                     tcp_socket.reset(new Socket(fd, Socket::ProtocolTcp, false));
-                    // Try and get a socket option from this file descriptor to 
+                    // Try and get a socket option from this file descriptor to
                     // see if this is a socket and set m_is_socket accordingly.
                     int resuse;
                     bool is_socket = !!tcp_socket->GetOption(SOL_SOCKET, SO_REUSEADDR, resuse);
@@ -229,7 +221,7 @@ ConnectionFileDescriptor::Connect (const
             }
 
             if (error_ptr)
-                error_ptr->SetErrorStringWithFormat ("invalid file descriptor: \"fd://%s\"", s);
+                error_ptr->SetErrorStringWithFormat("invalid file descriptor: \"fd://%s\"", s);
             m_read_sp.reset();
             m_write_sp.reset();
             return eConnectionStatusError;
@@ -241,7 +233,7 @@ ConnectionFileDescriptor::Connect (const
             int fd = -1;
             do
             {
-                fd = ::open (path, O_RDWR);
+                fd = ::open(path, O_RDWR);
             } while (fd == -1 && errno == EINTR);
 
             if (fd == -1)
@@ -255,29 +247,29 @@ ConnectionFileDescriptor::Connect (const
             {
                 // Set up serial terminal emulation
                 struct termios options;
-                ::tcgetattr (fd, &options);
+                ::tcgetattr(fd, &options);
 
                 // Set port speed to maximum
-                ::cfsetospeed (&options, B115200);
-                ::cfsetispeed (&options, B115200);
+                ::cfsetospeed(&options, B115200);
+                ::cfsetispeed(&options, B115200);
 
                 // Raw input, disable echo and signals
                 options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
 
                 // Make sure only one character is needed to return from a read
-                options.c_cc[VMIN]  = 1;
+                options.c_cc[VMIN] = 1;
                 options.c_cc[VTIME] = 0;
 
-                ::tcsetattr (fd, TCSANOW, &options);
+                ::tcsetattr(fd, TCSANOW, &options);
             }
 
-            int flags = ::fcntl (fd, F_GETFL, 0);
+            int flags = ::fcntl(fd, F_GETFL, 0);
             if (flags >= 0)
             {
                 if ((flags & O_NONBLOCK) == 0)
                 {
                     flags |= O_NONBLOCK;
-                    ::fcntl (fd, F_SETFL, flags);
+                    ::fcntl(fd, F_SETFL, flags);
                 }
             }
             m_read_sp.reset(new File(fd, true));
@@ -286,7 +278,7 @@ ConnectionFileDescriptor::Connect (const
         }
 #endif
         if (error_ptr)
-            error_ptr->SetErrorStringWithFormat ("unsupported connection URL: '%s'", s);
+            error_ptr->SetErrorStringWithFormat("unsupported connection URL: '%s'", s);
         return eConnectionStatusError;
     }
     if (error_ptr)
@@ -301,25 +293,23 @@ ConnectionFileDescriptor::InterruptRead(
 }
 
 ConnectionStatus
-ConnectionFileDescriptor::Disconnect (Error *error_ptr)
+ConnectionFileDescriptor::Disconnect(Error *error_ptr)
 {
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION));
+    Log *log(lldb_private::GetLogIfAnyCategoriesSet(LIBLLDB_LOG_CONNECTION));
     if (log)
-        log->Printf ("%p ConnectionFileDescriptor::Disconnect ()",
-                     static_cast<void*>(this));
+        log->Printf("%p ConnectionFileDescriptor::Disconnect ()", static_cast<void *>(this));
 
     ConnectionStatus status = eConnectionStatusSuccess;
 
     if (!IsConnected())
     {
         if (log)
-            log->Printf ("%p ConnectionFileDescriptor::Disconnect(): Nothing to disconnect",
-                         static_cast<void*>(this));
+            log->Printf("%p ConnectionFileDescriptor::Disconnect(): Nothing to disconnect", static_cast<void *>(this));
         return eConnectionStatusSuccess;
     }
 
     if (m_read_sp && m_read_sp->IsValid() && m_read_sp->GetFdType() == IOObject::eFDTypeSocket)
-        static_cast<Socket&>(*m_read_sp).PreDisconnect();
+        static_cast<Socket &>(*m_read_sp).PreDisconnect();
 
     // Try to get the ConnectionFileDescriptor's mutex.  If we fail, that is quite likely
     // because somebody is doing a blocking read on our file descriptor.  If that's the case,
@@ -329,7 +319,7 @@ ConnectionFileDescriptor::Disconnect (Er
     m_shutting_down = true;
 
     Mutex::Locker locker;
-    bool got_lock = locker.TryLock (m_mutex);
+    bool got_lock = locker.TryLock(m_mutex);
 
     if (!got_lock)
     {
@@ -338,15 +328,15 @@ ConnectionFileDescriptor::Disconnect (Er
             int result;
             result = m_pipe.Write("q", 1) == 1;
             if (log)
-                log->Printf ("%p ConnectionFileDescriptor::Disconnect(): Couldn't get the lock, sent 'q' to %d, result = %d.",
-                             static_cast<void*>(this), m_pipe.GetWriteFileDescriptor(), result);
+                log->Printf("%p ConnectionFileDescriptor::Disconnect(): Couldn't get the lock, sent 'q' to %d, result = %d.",
+                            static_cast<void *>(this), m_pipe.GetWriteFileDescriptor(), result);
         }
         else if (log)
         {
-            log->Printf ("%p ConnectionFileDescriptor::Disconnect(): Couldn't get the lock, but no command pipe is available.",
-                         static_cast<void*>(this));
+            log->Printf("%p ConnectionFileDescriptor::Disconnect(): Couldn't get the lock, but no command pipe is available.",
+                        static_cast<void *>(this));
         }
-        locker.Lock (m_mutex);
+        locker.Lock(m_mutex);
     }
 
     Error error = m_read_sp->Close();
@@ -361,23 +351,18 @@ ConnectionFileDescriptor::Disconnect (Er
 }
 
 size_t
-ConnectionFileDescriptor::Read (void *dst, 
-                                size_t dst_len, 
-                                uint32_t timeout_usec,
-                                ConnectionStatus &status, 
-                                Error *error_ptr)
+ConnectionFileDescriptor::Read(void *dst, size_t dst_len, uint32_t timeout_usec, ConnectionStatus &status, Error *error_ptr)
 {
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION));
+    Log *log(lldb_private::GetLogIfAnyCategoriesSet(LIBLLDB_LOG_CONNECTION));
 
     Mutex::Locker locker;
-    bool got_lock = locker.TryLock (m_mutex);
+    bool got_lock = locker.TryLock(m_mutex);
     if (!got_lock)
     {
         if (log)
-            log->Printf ("%p ConnectionFileDescriptor::Read () failed to get the connection lock.",
-                         static_cast<void*>(this));
+            log->Printf("%p ConnectionFileDescriptor::Read () failed to get the connection lock.", static_cast<void *>(this));
         if (error_ptr)
-            error_ptr->SetErrorString ("failed to get the connection lock for read.");
+            error_ptr->SetErrorString("failed to get the connection lock for read.");
 
         status = eConnectionStatusTimedOut;
         return 0;
@@ -385,7 +370,7 @@ ConnectionFileDescriptor::Read (void *ds
     else if (m_shutting_down)
         return eConnectionStatusError;
 
-    status = BytesAvailable (timeout_usec, error_ptr);
+    status = BytesAvailable(timeout_usec, error_ptr);
     if (status != eConnectionStatusSuccess)
         return 0;
 
@@ -396,12 +381,8 @@ ConnectionFileDescriptor::Read (void *ds
     if (log)
     {
         log->Printf("%p ConnectionFileDescriptor::Read()  fd = %" PRIu64 ", dst = %p, dst_len = %" PRIu64 ") => %" PRIu64 ", error = %s",
-                    static_cast<void*>(this),
-                    static_cast<uint64_t>(m_read_sp->GetWaitableHandle()),
-                    static_cast<void*>(dst),
-                    static_cast<uint64_t>(dst_len),
-                    static_cast<uint64_t>(bytes_read),
-                    error.AsCString());
+                    static_cast<void *>(this), static_cast<uint64_t>(m_read_sp->GetWaitableHandle()), static_cast<void *>(dst),
+                    static_cast<uint64_t>(dst_len), static_cast<uint64_t>(bytes_read), error.AsCString());
     }
 
     if (bytes_read == 0)
@@ -418,49 +399,48 @@ ConnectionFileDescriptor::Read (void *ds
         uint32_t error_value = error.GetError();
         switch (error_value)
         {
-        case EAGAIN:    // The file was marked for non-blocking I/O, and no data were ready to be read.
-            if (m_read_sp->GetFdType() == IOObject::eFDTypeSocket)
-                status = eConnectionStatusTimedOut;
-            else
-                status = eConnectionStatusSuccess;
-            return 0;
+            case EAGAIN: // The file was marked for non-blocking I/O, and no data were ready to be read.
+                if (m_read_sp->GetFdType() == IOObject::eFDTypeSocket)
+                    status = eConnectionStatusTimedOut;
+                else
+                    status = eConnectionStatusSuccess;
+                return 0;
 
-        case EFAULT:    // Buf points outside the allocated address space.
-        case EINTR:     // A read from a slow device was interrupted before any data arrived by the delivery of a signal.
-        case EINVAL:    // The pointer associated with fildes was negative.
-        case EIO:       // An I/O error occurred while reading from the file system.
-                        // The process group is orphaned.
-                        // The file is a regular file, nbyte is greater than 0,
-                        // the starting position is before the end-of-file, and
-                        // the starting position is greater than or equal to the
-                        // offset maximum established for the open file
-                        // descriptor associated with fildes.
-        case EISDIR:    // An attempt is made to read a directory.
-        case ENOBUFS:   // An attempt to allocate a memory buffer fails.
-        case ENOMEM:    // Insufficient memory is available.
-            status = eConnectionStatusError;
-            break;  // Break to close....
-
-        case ENOENT:    // no such file or directory
-        case EBADF:     // fildes is not a valid file or socket descriptor open for reading.
-        case ENXIO:     // An action is requested of a device that does not exist..
-                        // A requested action cannot be performed by the device.
-        case ECONNRESET:// The connection is closed by the peer during a read attempt on a socket.
-        case ENOTCONN:  // A read is attempted on an unconnected socket.
-            status = eConnectionStatusLostConnection;
-            break;  // Break to close....
-
-        case ETIMEDOUT: // A transmission timeout occurs during a read attempt on a socket.
-            status = eConnectionStatusTimedOut;
-            return 0;
+            case EFAULT:  // Buf points outside the allocated address space.
+            case EINTR:   // A read from a slow device was interrupted before any data arrived by the delivery of a signal.
+            case EINVAL:  // The pointer associated with fildes was negative.
+            case EIO:     // An I/O error occurred while reading from the file system.
+                          // The process group is orphaned.
+                          // The file is a regular file, nbyte is greater than 0,
+                          // the starting position is before the end-of-file, and
+                          // the starting position is greater than or equal to the
+                          // offset maximum established for the open file
+                          // descriptor associated with fildes.
+            case EISDIR:  // An attempt is made to read a directory.
+            case ENOBUFS: // An attempt to allocate a memory buffer fails.
+            case ENOMEM:  // Insufficient memory is available.
+                status = eConnectionStatusError;
+                break; // Break to close....
+
+            case ENOENT:     // no such file or directory
+            case EBADF:      // fildes is not a valid file or socket descriptor open for reading.
+            case ENXIO:      // An action is requested of a device that does not exist..
+                             // A requested action cannot be performed by the device.
+            case ECONNRESET: // The connection is closed by the peer during a read attempt on a socket.
+            case ENOTCONN:   // A read is attempted on an unconnected socket.
+                status = eConnectionStatusLostConnection;
+                break; // Break to close....
 
-        default:
-            if (log)
-                log->Printf("%p ConnectionFileDescriptor::Read (), unexpected error: %s",
-                            static_cast<void*>(this), strerror(error_value));
-            status = eConnectionStatusError;
-            break;  // Break to close....
+            case ETIMEDOUT: // A transmission timeout occurs during a read attempt on a socket.
+                status = eConnectionStatusTimedOut;
+                return 0;
 
+            default:
+                if (log)
+                    log->Printf("%p ConnectionFileDescriptor::Read (), unexpected error: %s", static_cast<void *>(this),
+                                strerror(error_value));
+                status = eConnectionStatusError;
+                break; // Break to close....
         }
 
         return 0;
@@ -469,15 +449,14 @@ ConnectionFileDescriptor::Read (void *ds
 }
 
 size_t
-ConnectionFileDescriptor::Write (const void *src, size_t src_len, ConnectionStatus &status, Error *error_ptr)
+ConnectionFileDescriptor::Write(const void *src, size_t src_len, ConnectionStatus &status, Error *error_ptr)
 {
-    Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_CONNECTION));
+    Log *log(lldb_private::GetLogIfAnyCategoriesSet(LIBLLDB_LOG_CONNECTION));
     if (log)
-        log->Printf ("%p ConnectionFileDescriptor::Write (src = %p, src_len = %" PRIu64 ")",
-                     static_cast<void*>(this), static_cast<const void*>(src),
-                     static_cast<uint64_t>(src_len));
+        log->Printf("%p ConnectionFileDescriptor::Write (src = %p, src_len = %" PRIu64 ")", static_cast<void *>(this),
+                    static_cast<const void *>(src), static_cast<uint64_t>(src_len));
 
-    if (!IsConnected ())
+    if (!IsConnected())
     {
         if (error_ptr)
             error_ptr->SetErrorString("not connected");
@@ -485,7 +464,6 @@ ConnectionFileDescriptor::Write (const v
         return 0;
     }
 
-
     Error error;
 
     size_t bytes_sent = src_len;
@@ -493,13 +471,9 @@ ConnectionFileDescriptor::Write (const v
 
     if (log)
     {
-        log->Printf ("%p ConnectionFileDescriptor::Write(fd = %" PRIu64 ", src = %p, src_len = %" PRIu64 ") => %" PRIu64 " (error = %s)",
-                     static_cast<void*>(this),
-                     static_cast<uint64_t>(m_write_sp->GetWaitableHandle()),
-                     static_cast<const void*>(src),
-                     static_cast<uint64_t>(src_len),
-                     static_cast<uint64_t>(bytes_sent),
-                     error.AsCString());
+        log->Printf("%p ConnectionFileDescriptor::Write(fd = %" PRIu64 ", src = %p, src_len = %" PRIu64 ") => %" PRIu64 " (error = %s)",
+                    static_cast<void *>(this), static_cast<uint64_t>(m_write_sp->GetWaitableHandle()), static_cast<const void *>(src),
+                    static_cast<uint64_t>(src_len), static_cast<uint64_t>(bytes_sent), error.AsCString());
     }
 
     if (error_ptr)
@@ -509,19 +483,19 @@ ConnectionFileDescriptor::Write (const v
     {
         switch (error.GetError())
         {
-        case EAGAIN:
-        case EINTR:
-            status = eConnectionStatusSuccess;
-            return 0;
-
-        case ECONNRESET:// The connection is closed by the peer during a read attempt on a socket.
-        case ENOTCONN:  // A read is attempted on an unconnected socket.
-            status = eConnectionStatusLostConnection;
-            break;  // Break to close....
-
-        default:
-            status = eConnectionStatusError;
-            break;  // Break to close....
+            case EAGAIN:
+            case EINTR:
+                status = eConnectionStatusSuccess;
+                return 0;
+
+            case ECONNRESET: // The connection is closed by the peer during a read attempt on a socket.
+            case ENOTCONN:   // A read is attempted on an unconnected socket.
+                status = eConnectionStatusLostConnection;
+                break; // Break to close....
+
+            default:
+                status = eConnectionStatusError;
+                break; // Break to close....
         }
 
         return 0;
@@ -531,8 +505,6 @@ ConnectionFileDescriptor::Write (const v
     return bytes_sent;
 }
 
-
-
 // This ConnectionFileDescriptor::BytesAvailable() uses select().
 //
 // PROS:
@@ -554,15 +526,14 @@ ConnectionFileDescriptor::Write (const v
 #endif
 
 ConnectionStatus
-ConnectionFileDescriptor::BytesAvailable (uint32_t timeout_usec, Error *error_ptr)
+ConnectionFileDescriptor::BytesAvailable(uint32_t timeout_usec, Error *error_ptr)
 {
     // Don't need to take the mutex here separately since we are only called from Read.  If we
     // ever get used more generally we will need to lock here as well.
 
-    Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_CONNECTION));
+    Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_CONNECTION));
     if (log)
-        log->Printf("%p ConnectionFileDescriptor::BytesAvailable (timeout_usec = %u)",
-                    static_cast<void*>(this), timeout_usec);
+        log->Printf("%p ConnectionFileDescriptor::BytesAvailable (timeout_usec = %u)", static_cast<void *>(this), timeout_usec);
 
     struct timeval *tv_ptr;
     struct timeval tv;
@@ -574,7 +545,7 @@ ConnectionFileDescriptor::BytesAvailable
     else
     {
         TimeValue time_value;
-        time_value.OffsetWithMicroSeconds (timeout_usec);
+        time_value.OffsetWithMicroSeconds(timeout_usec);
         tv.tv_sec = time_value.seconds();
         tv.tv_usec = time_value.microseconds();
         tv_ptr = &tv;
@@ -596,9 +567,9 @@ ConnectionFileDescriptor::BytesAvailable
 #else
         const bool have_pipe_fd = pipe_fd >= 0;
 #if !defined(__APPLE__)
-        assert (handle < FD_SETSIZE);
+        assert(handle < FD_SETSIZE);
         if (have_pipe_fd)
-            assert (pipe_fd < FD_SETSIZE);
+            assert(pipe_fd < FD_SETSIZE);
 #endif
 #endif
         while (handle == m_read_sp->GetWaitableHandle())
@@ -606,35 +577,34 @@ ConnectionFileDescriptor::BytesAvailable
             const int nfds = std::max<int>(handle, pipe_fd) + 1;
 #if defined(__APPLE__)
             llvm::SmallVector<fd_set, 1> read_fds;
-            read_fds.resize((nfds/FD_SETSIZE) + 1);
-            for (size_t i=0; i<read_fds.size(); ++i)
-                FD_ZERO (&read_fds[i]);
-            // FD_SET doesn't bounds check, it just happily walks off the end
-            // but we have taken care of making the extra storage with our
-            // SmallVector of fd_set objects
+            read_fds.resize((nfds / FD_SETSIZE) + 1);
+            for (size_t i = 0; i < read_fds.size(); ++i)
+                FD_ZERO(&read_fds[i]);
+// FD_SET doesn't bounds check, it just happily walks off the end
+// but we have taken care of making the extra storage with our
+// SmallVector of fd_set objects
 #else
             fd_set read_fds;
-            FD_ZERO (&read_fds);
+            FD_ZERO(&read_fds);
 #endif
-            FD_SET (handle, FD_SET_DATA(read_fds));
+            FD_SET(handle, FD_SET_DATA(read_fds));
             if (have_pipe_fd)
-                FD_SET (pipe_fd, FD_SET_DATA(read_fds));
+                FD_SET(pipe_fd, FD_SET_DATA(read_fds));
 
             Error error;
 
             if (log)
             {
                 if (have_pipe_fd)
-                    log->Printf("%p ConnectionFileDescriptor::BytesAvailable()  ::select (nfds=%i, fds={%i, %i}, NULL, NULL, timeout=%p)...",
-                                static_cast<void*>(this), nfds, handle, pipe_fd,
-                                static_cast<void*>(tv_ptr));
+                    log->Printf(
+                        "%p ConnectionFileDescriptor::BytesAvailable()  ::select (nfds=%i, fds={%i, %i}, NULL, NULL, timeout=%p)...",
+                        static_cast<void *>(this), nfds, handle, pipe_fd, static_cast<void *>(tv_ptr));
                 else
                     log->Printf("%p ConnectionFileDescriptor::BytesAvailable()  ::select (nfds=%i, fds={%i}, NULL, NULL, timeout=%p)...",
-                                static_cast<void*>(this), nfds, handle,
-                                static_cast<void*>(tv_ptr));
+                                static_cast<void *>(this), nfds, handle, static_cast<void *>(tv_ptr));
             }
 
-            const int num_set_fds = ::select (nfds, FD_SET_DATA(read_fds), NULL, NULL, tv_ptr);
+            const int num_set_fds = ::select(nfds, FD_SET_DATA(read_fds), NULL, NULL, tv_ptr);
             if (num_set_fds < 0)
                 error.SetErrorToErrno();
             else
@@ -643,15 +613,14 @@ ConnectionFileDescriptor::BytesAvailable
             if (log)
             {
                 if (have_pipe_fd)
-                    log->Printf("%p ConnectionFileDescriptor::BytesAvailable()  ::select (nfds=%i, fds={%i, %i}, NULL, NULL, timeout=%p) => %d, error = %s",
-                                static_cast<void*>(this), nfds, handle,
-                                pipe_fd, static_cast<void*>(tv_ptr), num_set_fds,
+                    log->Printf("%p ConnectionFileDescriptor::BytesAvailable()  ::select (nfds=%i, fds={%i, %i}, NULL, NULL, timeout=%p) "
+                                "=> %d, error = %s",
+                                static_cast<void *>(this), nfds, handle, pipe_fd, static_cast<void *>(tv_ptr), num_set_fds,
                                 error.AsCString());
                 else
-                    log->Printf("%p ConnectionFileDescriptor::BytesAvailable()  ::select (nfds=%i, fds={%i}, NULL, NULL, timeout=%p) => %d, error = %s",
-                                static_cast<void*>(this), nfds, handle,
-                                static_cast<void*>(tv_ptr), num_set_fds,
-                                error.AsCString());
+                    log->Printf("%p ConnectionFileDescriptor::BytesAvailable()  ::select (nfds=%i, fds={%i}, NULL, NULL, timeout=%p) => "
+                                "%d, error = %s",
+                                static_cast<void *>(this), nfds, handle, static_cast<void *>(tv_ptr), num_set_fds, error.AsCString());
             }
 
             if (error_ptr)
@@ -661,20 +630,20 @@ ConnectionFileDescriptor::BytesAvailable
             {
                 switch (error.GetError())
                 {
-                    case EBADF:     // One of the descriptor sets specified an invalid descriptor.
+                    case EBADF: // One of the descriptor sets specified an invalid descriptor.
                         return eConnectionStatusLostConnection;
 
-                    case EINVAL:    // The specified time limit is invalid. One of its components is negative or too large.
-                    default:        // Other unknown error
+                    case EINVAL: // The specified time limit is invalid. One of its components is negative or too large.
+                    default:     // Other unknown error
                         return eConnectionStatusError;
 
-                    case EAGAIN:    // The kernel was (perhaps temporarily) unable to
-                        // allocate the requested number of file descriptors,
-                        // or we have non-blocking IO
-                    case EINTR:     // A signal was delivered before the time limit
+                    case EAGAIN: // The kernel was (perhaps temporarily) unable to
+                                 // allocate the requested number of file descriptors,
+                                 // or we have non-blocking IO
+                    case EINTR:  // A signal was delivered before the time limit
                         // expired and before any of the selected events
                         // occurred.
-                        break;      // Lets keep reading to until we timeout
+                        break; // Lets keep reading to until we timeout
                 }
             }
             else if (num_set_fds == 0)
@@ -693,20 +662,19 @@ ConnectionFileDescriptor::BytesAvailable
 
                     do
                     {
-                        bytes_read = ::read (pipe_fd, buffer, sizeof(buffer));
+                        bytes_read = ::read(pipe_fd, buffer, sizeof(buffer));
                     } while (bytes_read < 0 && errno == EINTR);
-                    
+
                     switch (buffer[0])
                     {
-                    case 'q':
-                        if (log)
-                            log->Printf("%p ConnectionFileDescriptor::BytesAvailable() got data: %*s from the command channel.",
-                                        static_cast<void*>(this),
-                                        static_cast<int>(bytes_read), buffer);
-                        return eConnectionStatusEndOfFile;
-                    case 'i':
-                        // Interrupt the current read
-                        return eConnectionStatusInterrupted;
+                        case 'q':
+                            if (log)
+                                log->Printf("%p ConnectionFileDescriptor::BytesAvailable() got data: %*s from the command channel.",
+                                            static_cast<void *>(this), static_cast<int>(bytes_read), buffer);
+                            return eConnectionStatusEndOfFile;
+                        case 'i':
+                            // Interrupt the current read
+                            return eConnectionStatusInterrupted;
                     }
                 }
             }
@@ -719,9 +687,9 @@ ConnectionFileDescriptor::BytesAvailable
 }
 
 ConnectionStatus
-ConnectionFileDescriptor::NamedSocketAccept (const char *socket_name, Error *error_ptr)
+ConnectionFileDescriptor::NamedSocketAccept(const char *socket_name, Error *error_ptr)
 {
-    Socket* socket = nullptr;
+    Socket *socket = nullptr;
     Error error = Socket::UnixDomainAccept(socket_name, socket);
     if (error_ptr)
         *error_ptr = error;
@@ -731,9 +699,9 @@ ConnectionFileDescriptor::NamedSocketAcc
 }
 
 ConnectionStatus
-ConnectionFileDescriptor::NamedSocketConnect (const char *socket_name, Error *error_ptr)
+ConnectionFileDescriptor::NamedSocketConnect(const char *socket_name, Error *error_ptr)
 {
-    Socket* socket = nullptr;
+    Socket *socket = nullptr;
     Error error = Socket::UnixDomainConnect(socket_name, socket);
     if (error_ptr)
         *error_ptr = error;
@@ -747,7 +715,7 @@ ConnectionFileDescriptor::SocketListen(c
 {
     m_port_predicate.SetValue(0, eBroadcastNever);
 
-    Socket* socket = nullptr;
+    Socket *socket = nullptr;
     m_waiting_for_accept = true;
     Error error = Socket::TcpListen(s, socket, &m_port_predicate);
     if (error_ptr)
@@ -774,7 +742,7 @@ ConnectionFileDescriptor::SocketListen(c
 ConnectionStatus
 ConnectionFileDescriptor::ConnectTCP(const char *s, Error *error_ptr)
 {
-    Socket* socket = nullptr;
+    Socket *socket = nullptr;
     Error error = Socket::TcpConnect(s, socket);
     if (error_ptr)
         *error_ptr = error;
@@ -786,8 +754,8 @@ ConnectionFileDescriptor::ConnectTCP(con
 ConnectionStatus
 ConnectionFileDescriptor::ConnectUDP(const char *s, Error *error_ptr)
 {
-    Socket* send_socket = nullptr;
-    Socket* recv_socket = nullptr;
+    Socket *send_socket = nullptr;
+    Socket *recv_socket = nullptr;
     Error error = Socket::UdpConnect(s, send_socket, recv_socket);
     if (error_ptr)
         *error_ptr = error;
@@ -796,17 +764,17 @@ ConnectionFileDescriptor::ConnectUDP(con
     return (error.Success()) ? eConnectionStatusSuccess : eConnectionStatusError;
 }
 
-
-uint16_t ConnectionFileDescriptor::GetListeningPort(uint32_t timeout_sec)
+uint16_t
+ConnectionFileDescriptor::GetListeningPort(uint32_t timeout_sec)
 {
     uint16_t bound_port = 0;
     if (timeout_sec == UINT32_MAX)
-        m_port_predicate.WaitForValueNotEqualTo (0, bound_port);
+        m_port_predicate.WaitForValueNotEqualTo(0, bound_port);
     else
     {
         TimeValue timeout = TimeValue::Now();
         timeout.OffsetWithSeconds(timeout_sec);
-        m_port_predicate.WaitForValueNotEqualTo (0, bound_port, &timeout);
+        m_port_predicate.WaitForValueNotEqualTo(0, bound_port, &timeout);
     }
     return bound_port;
 }

Modified: lldb/trunk/source/Interpreter/ScriptInterpreterPython.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/ScriptInterpreterPython.cpp?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/source/Interpreter/ScriptInterpreterPython.cpp (original)
+++ lldb/trunk/source/Interpreter/ScriptInterpreterPython.cpp Mon Oct  6 16:22:36 2014
@@ -28,9 +28,9 @@
 #include "lldb/Breakpoint/StoppointCallbackContext.h"
 #include "lldb/Breakpoint/WatchpointOptions.h"
 #include "lldb/Core/Communication.h"
-#include "lldb/Core/ConnectionFileDescriptor.h"
 #include "lldb/Core/Debugger.h"
 #include "lldb/Core/Timer.h"
+#include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/HostInfo.h"
 #include "lldb/Host/Pipe.h"
 #include "lldb/Interpreter/CommandInterpreter.h"

Modified: lldb/trunk/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp (original)
+++ lldb/trunk/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp Mon Oct  6 16:22:36 2014
@@ -16,7 +16,6 @@
 // Other libraries and framework includes
 // Project includes
 #include "lldb/Breakpoint/BreakpointLocation.h"
-#include "lldb/Core/ConnectionFileDescriptor.h"
 #include "lldb/Core/Debugger.h"
 #include "lldb/Core/Error.h"
 #include "lldb/Core/Log.h"
@@ -24,6 +23,7 @@
 #include "lldb/Core/ModuleList.h"
 #include "lldb/Core/PluginManager.h"
 #include "lldb/Core/StreamString.h"
+#include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/FileSpec.h"
 #include "lldb/Host/Host.h"
 #include "lldb/Target/Process.h"

Modified: lldb/trunk/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp (original)
+++ lldb/trunk/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp Mon Oct  6 16:22:36 2014
@@ -13,13 +13,13 @@
 
 // C++ Includes
 // Other libraries and framework includes
-#include "lldb/Core/ConnectionFileDescriptor.h"
 #include "lldb/Core/Debugger.h"
 #include "lldb/Core/PluginManager.h"
 #include "lldb/Core/Module.h"
 #include "lldb/Core/ModuleSpec.h"
 #include "lldb/Core/State.h"
 #include "lldb/Core/UUID.h"
+#include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/Host.h"
 #include "lldb/Host/Symbols.h"
 #include "lldb/Host/Socket.h"

Modified: lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp (original)
+++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp Mon Oct  6 16:22:36 2014
@@ -17,10 +17,10 @@
 
 // C++ Includes
 // Other libraries and framework includes
-#include "lldb/Core/ConnectionFileDescriptor.h"
 #include "lldb/Core/Log.h"
 #include "lldb/Core/StreamFile.h"
 #include "lldb/Core/StreamString.h"
+#include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/FileSpec.h"
 #include "lldb/Host/FileSystem.h"
 #include "lldb/Host/Host.h"

Modified: lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp (original)
+++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp Mon Oct  6 16:22:36 2014
@@ -20,11 +20,11 @@
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/Triple.h"
 #include "lldb/Interpreter/Args.h"
-#include "lldb/Core/ConnectionFileDescriptor.h"
 #include "lldb/Core/Log.h"
 #include "lldb/Core/State.h"
 #include "lldb/Core/StreamGDBRemote.h"
 #include "lldb/Core/StreamString.h"
+#include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/Endian.h"
 #include "lldb/Host/Host.h"
 #include "lldb/Host/HostInfo.h"

Modified: lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp (original)
+++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp Mon Oct  6 16:22:36 2014
@@ -23,11 +23,11 @@
 // Other libraries and framework includes
 #include "llvm/ADT/Triple.h"
 #include "lldb/Interpreter/Args.h"
-#include "lldb/Core/ConnectionFileDescriptor.h"
 #include "lldb/Core/Debugger.h"
 #include "lldb/Core/Log.h"
 #include "lldb/Core/State.h"
 #include "lldb/Core/StreamString.h"
+#include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/Debug.h"
 #include "lldb/Host/Endian.h"
 #include "lldb/Host/File.h"

Modified: lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp (original)
+++ lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp Mon Oct  6 16:22:36 2014
@@ -31,7 +31,7 @@
 #include "lldb/Interpreter/Args.h"
 #include "lldb/Core/ArchSpec.h"
 #include "lldb/Core/Debugger.h"
-#include "lldb/Core/ConnectionFileDescriptor.h"
+#include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/FileSpec.h"
 #include "lldb/Core/Module.h"
 #include "lldb/Core/ModuleSpec.h"

Modified: lldb/trunk/source/Target/Process.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Process.cpp?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/source/Target/Process.cpp (original)
+++ lldb/trunk/source/Target/Process.cpp Mon Oct  6 16:22:36 2014
@@ -16,21 +16,21 @@
 #include "lldb/Breakpoint/StoppointCallbackContext.h"
 #include "lldb/Breakpoint/BreakpointLocation.h"
 #include "lldb/Core/Event.h"
-#include "lldb/Core/ConnectionFileDescriptor.h"
 #include "lldb/Core/Debugger.h"
 #include "lldb/Core/Log.h"
 #include "lldb/Core/Module.h"
-#include "lldb/Symbol/Symbol.h"
 #include "lldb/Core/PluginManager.h"
 #include "lldb/Core/State.h"
 #include "lldb/Core/StreamFile.h"
 #include "lldb/Expression/ClangUserExpression.h"
-#include "lldb/Interpreter/CommandInterpreter.h"
+#include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/Host.h"
 #include "lldb/Host/HostInfo.h"
 #include "lldb/Host/Pipe.h"
 #include "lldb/Host/Terminal.h"
 #include "lldb/Host/ThreadLauncher.h"
+#include "lldb/Interpreter/CommandInterpreter.h"
+#include "lldb/Symbol/Symbol.h"
 #include "lldb/Target/ABI.h"
 #include "lldb/Target/DynamicLoader.h"
 #include "lldb/Target/JITLoader.h"

Modified: lldb/trunk/tools/lldb-gdbserver/lldb-gdbserver.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-gdbserver/lldb-gdbserver.cpp?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-gdbserver/lldb-gdbserver.cpp (original)
+++ lldb/trunk/tools/lldb-gdbserver/lldb-gdbserver.cpp Mon Oct  6 16:22:36 2014
@@ -25,11 +25,11 @@
 // Other libraries and framework includes
 #include "lldb/lldb-private-log.h"
 #include "lldb/Core/Error.h"
-#include "lldb/Core/ConnectionFileDescriptor.h"
 #include "lldb/Core/ConnectionMachPort.h"
 #include "lldb/Core/Debugger.h"
 #include "lldb/Core/PluginManager.h"
 #include "lldb/Core/StreamFile.h"
+#include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/HostThread.h"
 #include "lldb/Host/OptionParser.h"
 #include "lldb/Host/Socket.h"

Modified: lldb/trunk/tools/lldb-platform/lldb-platform.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-platform/lldb-platform.cpp?rev=219143&r1=219142&r2=219143&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-platform/lldb-platform.cpp (original)
+++ lldb/trunk/tools/lldb-platform/lldb-platform.cpp Mon Oct  6 16:22:36 2014
@@ -25,10 +25,10 @@
 // Other libraries and framework includes
 #include "lldb/lldb-private-log.h"
 #include "lldb/Core/Error.h"
-#include "lldb/Core/ConnectionFileDescriptor.h"
 #include "lldb/Core/ConnectionMachPort.h"
 #include "lldb/Core/Debugger.h"
 #include "lldb/Core/StreamFile.h"
+#include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/HostGetOpt.h"
 #include "lldb/Host/OptionParser.h"
 #include "lldb/Interpreter/CommandInterpreter.h"





More information about the lldb-commits mailing list