9#ifndef LLDB_HOST_POSIX_PIPEPOSIX_H
10#define LLDB_HOST_POSIX_PIPEPOSIX_H
35 Status CreateNew(llvm::StringRef name,
bool child_process_inherit)
override;
37 bool child_process_inherit,
40 bool child_process_inherit)
override;
43 const std::chrono::microseconds &timeout)
override;
63 void Close()
override;
68 const std::chrono::microseconds &timeout,
69 size_t &bytes_written)
override;
71 const std::chrono::microseconds &timeout,
72 size_t &bytes_read)
override;
A posix-based implementation of Pipe, a class that abtracts unix style pipes.
Status OpenAsReader(llvm::StringRef name, bool child_process_inherit) override
int ReleaseWriteFileDescriptorUnlocked()
int GetReadFileDescriptor() const override
Status OpenAsWriterWithTimeout(llvm::StringRef name, bool child_process_inherit, const std::chrono::microseconds &timeout) override
lldb::pipe_t GetWritePipe() const override
void CloseWriteFileDescriptor() override
bool CanWrite() const override
bool CanRead() const override
static int kInvalidDescriptor
Status ReadWithTimeout(void *buf, size_t size, const std::chrono::microseconds &timeout, size_t &bytes_read) override
std::mutex m_read_mutex
Mutexes for m_fds;.
int ReleaseReadFileDescriptor() override
Status Delete(llvm::StringRef name) override
int ReleaseReadFileDescriptorUnlocked()
void CloseWriteFileDescriptorUnlocked()
int GetReadFileDescriptorUnlocked() const
Status CreateWithUniqueName(llvm::StringRef prefix, bool child_process_inherit, llvm::SmallVectorImpl< char > &name) override
bool CanWriteUnlocked() const
PipePosix & operator=(const PipePosix &)=delete
PipePosix(const PipePosix &)=delete
int ReleaseWriteFileDescriptor() override
void CloseReadFileDescriptorUnlocked()
Status WriteWithTimeout(const void *buf, size_t size, const std::chrono::microseconds &timeout, size_t &bytes_written) override
void CloseReadFileDescriptor() override
Status CreateNew(bool child_process_inherit) override
bool CanReadUnlocked() const
int GetWriteFileDescriptor() const override
int GetWriteFileDescriptorUnlocked() const
lldb::pipe_t GetReadPipe() const override
A class that represents a running process on the host machine.