aboutsummaryrefslogtreecommitdiff
path: root/source/Host/common/Pipe.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Host/common/Pipe.cpp')
-rw-r--r--source/Host/common/Pipe.cpp171
1 files changed, 0 insertions, 171 deletions
diff --git a/source/Host/common/Pipe.cpp b/source/Host/common/Pipe.cpp
deleted file mode 100644
index 4db0e32c93b7..000000000000
--- a/source/Host/common/Pipe.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-//===-- Pipe.cpp ------------------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "lldb/Host/Pipe.h"
-
-#if defined(_WIN32)
-#include <io.h>
-#include <fcntl.h>
-#else
-#include <unistd.h>
-#endif
-
-using namespace lldb_private;
-
-int Pipe::kInvalidDescriptor = -1;
-
-enum PIPES { READ, WRITE }; // Constants 0 and 1 for READ and WRITE
-
-Pipe::Pipe()
-{
- m_fds[READ] = Pipe::kInvalidDescriptor;
- m_fds[WRITE] = Pipe::kInvalidDescriptor;
-}
-
-Pipe::~Pipe()
-{
- Close();
-}
-
-bool
-Pipe::Open()
-{
- if (IsValid())
- return true;
-
-#ifdef _WIN32
- if (::_pipe(m_fds, 256, O_BINARY) == 0)
- return true;
-#else
- if (::pipe(m_fds) == 0)
- return true;
-#endif
- m_fds[READ] = Pipe::kInvalidDescriptor;
- m_fds[WRITE] = Pipe::kInvalidDescriptor;
- return false;
-}
-
-int
-Pipe::GetReadFileDescriptor() const
-{
- return m_fds[READ];
-}
-
-int
-Pipe::GetWriteFileDescriptor() const
-{
- return m_fds[WRITE];
-}
-
-int
-Pipe::ReleaseReadFileDescriptor()
-{
- const int fd = m_fds[READ];
- m_fds[READ] = Pipe::kInvalidDescriptor;
- return fd;
-}
-
-int
-Pipe::ReleaseWriteFileDescriptor()
-{
- const int fd = m_fds[WRITE];
- m_fds[WRITE] = Pipe::kInvalidDescriptor;
- return fd;
-}
-
-void
-Pipe::Close()
-{
- CloseReadFileDescriptor();
- CloseWriteFileDescriptor();
-}
-
-bool
-Pipe::ReadDescriptorIsValid() const
-{
- return m_fds[READ] != Pipe::kInvalidDescriptor;
-}
-
-bool
-Pipe::WriteDescriptorIsValid() const
-{
- return m_fds[WRITE] != Pipe::kInvalidDescriptor;
-}
-
-bool
-Pipe::IsValid() const
-{
- return ReadDescriptorIsValid() && WriteDescriptorIsValid();
-}
-
-bool
-Pipe::CloseReadFileDescriptor()
-{
- if (ReadDescriptorIsValid())
- {
- int err;
-#ifdef _WIN32
- err = _close(m_fds[READ]);
-#else
- err = close(m_fds[READ]);
-#endif
- m_fds[READ] = Pipe::kInvalidDescriptor;
- return err == 0;
- }
- return true;
-}
-
-bool
-Pipe::CloseWriteFileDescriptor()
-{
- if (WriteDescriptorIsValid())
- {
- int err;
-#ifdef _WIN32
- err = _close(m_fds[WRITE]);
-#else
- err = close(m_fds[WRITE]);
-#endif
- m_fds[WRITE] = Pipe::kInvalidDescriptor;
- return err == 0;
- }
- return true;
-}
-
-
-size_t
-Pipe::Read (void *buf, size_t num_bytes)
-{
- if (ReadDescriptorIsValid())
- {
- const int fd = GetReadFileDescriptor();
-#ifdef _WIN32
- return _read (fd, (char *)buf, num_bytes);
-#else
- return read (fd, buf, num_bytes);
-#endif
- }
- return 0; // Return 0 since errno won't be set if we didn't call read
-}
-
-size_t
-Pipe::Write (const void *buf, size_t num_bytes)
-{
- if (WriteDescriptorIsValid())
- {
- const int fd = GetWriteFileDescriptor();
-#ifdef _WIN32
- return _write (fd, (char *)buf, num_bytes);
-#else
- return write (fd, buf, num_bytes);
-#endif
- }
- return 0; // Return 0 since errno won't be set if we didn't call write
-}
-