Add file descriptor constructor for PipePosix.
authorChaoren Lin <chaorenl@google.com>
Wed, 29 Apr 2015 17:36:58 +0000 (17:36 +0000)
committerChaoren Lin <chaorenl@google.com>
Wed, 29 Apr 2015 17:36:58 +0000 (17:36 +0000)
llvm-svn: 236133

lldb/include/lldb/Host/posix/PipePosix.h
lldb/source/Host/posix/PipePosix.cpp
lldb/tools/lldb-server/lldb-gdbserver.cpp

index 4aa1aa4..1609bb4 100644 (file)
@@ -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<char>& name) override;
     Error
     OpenAsReader(llvm::StringRef name, bool child_process_inherit) override;
index 1463b3a..5976ec6 100644 (file)
@@ -129,10 +129,10 @@ SelectIO(int handle, bool is_read, const std::function<Error(bool&)> &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<char>& name)
 {
     llvm::SmallString<PATH_MAX> named_pipe_path;
index 517009e..d0845bc 100644 (file)
@@ -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);
 }