From a52f48412dd544816d308b6279ab51eb3f0b39f4 Mon Sep 17 00:00:00 2001 From: Chaoren Lin Date: Wed, 29 Apr 2015 17:36:58 +0000 Subject: [PATCH] Add file descriptor constructor for PipePosix. llvm-svn: 236133 --- lldb/include/lldb/Host/posix/PipePosix.h | 3 +-- lldb/source/Host/posix/PipePosix.cpp | 17 ++++------------- lldb/tools/lldb-server/lldb-gdbserver.cpp | 6 +----- 3 files changed, 6 insertions(+), 20 deletions(-) diff --git a/lldb/include/lldb/Host/posix/PipePosix.h b/lldb/include/lldb/Host/posix/PipePosix.h index 4aa1aa4..1609bb4 100644 --- a/lldb/include/lldb/Host/posix/PipePosix.h +++ b/lldb/include/lldb/Host/posix/PipePosix.h @@ -28,6 +28,7 @@ public: static int kInvalidDescriptor; PipePosix(); + PipePosix(int read_fd, int write_fd); ~PipePosix() override; @@ -36,8 +37,6 @@ public: Error CreateNew(llvm::StringRef name, bool child_process_inherit) override; Error - CreateWithFD(int read_fd, int write_fd); - Error CreateWithUniqueName(llvm::StringRef prefix, bool child_process_inherit, llvm::SmallVectorImpl& name) override; Error OpenAsReader(llvm::StringRef name, bool child_process_inherit) override; diff --git a/lldb/source/Host/posix/PipePosix.cpp b/lldb/source/Host/posix/PipePosix.cpp index 1463b3a..5976ec6 100644 --- a/lldb/source/Host/posix/PipePosix.cpp +++ b/lldb/source/Host/posix/PipePosix.cpp @@ -129,10 +129,10 @@ SelectIO(int handle, bool is_read, const std::function &io_handler } PipePosix::PipePosix() -{ - m_fds[READ] = PipePosix::kInvalidDescriptor; - m_fds[WRITE] = PipePosix::kInvalidDescriptor; -} + : m_fds{PipePosix::kInvalidDescriptor, PipePosix::kInvalidDescriptor} {} + +PipePosix::PipePosix(int read_fd, int write_fd) + : m_fds{read_fd, write_fd} {} PipePosix::~PipePosix() { @@ -187,15 +187,6 @@ PipePosix::CreateNew(llvm::StringRef name, bool child_process_inherit) } Error -PipePosix::CreateWithFD(int read_fd, int write_fd) { - if (CanRead() || CanWrite()) - return Error("Pipe is already opened"); - m_fds[READ] = read_fd; - m_fds[WRITE] = write_fd; - return Error(); -} - -Error PipePosix::CreateWithUniqueName(llvm::StringRef prefix, bool child_process_inherit, llvm::SmallVectorImpl& name) { llvm::SmallString named_pipe_path; diff --git a/lldb/tools/lldb-server/lldb-gdbserver.cpp b/lldb/tools/lldb-server/lldb-gdbserver.cpp index 517009e..d0845bc 100644 --- a/lldb/tools/lldb-server/lldb-gdbserver.cpp +++ b/lldb/tools/lldb-server/lldb-gdbserver.cpp @@ -344,11 +344,7 @@ writePortToPipe(const char *const named_pipe_path, const uint16_t port) Error writePortToPipe(int unnamed_pipe_fd, const uint16_t port) { - Pipe port_pipe; - // Wait for 10 seconds for pipe to be opened. - auto error = port_pipe.CreateWithFD(Pipe::kInvalidDescriptor, unnamed_pipe_fd); - if (error.Fail()) - return error; + Pipe port_pipe{Pipe::kInvalidDescriptor, unnamed_pipe_fd}; return WritePortToPipe(port_pipe, port); } -- 2.7.4