10 #include "lldb/Host/Config.h"
11 #include "llvm/Support/Errc.h"
12 #include "llvm/Support/Errno.h"
19 #if defined(TIOCSCTTY)
20 #include <sys/ioctl.h>
25 #if defined(__APPLE__)
26 #include <Availability.h>
29 #if defined(__ANDROID__)
70 return llvm::errorCodeToError(
71 std::error_code(errno, std::generic_category()));
76 std::error_code EC(errno, std::generic_category());
78 return llvm::errorCodeToError(EC);
83 std::error_code EC(errno, std::generic_category());
85 return llvm::errorCodeToError(EC);
88 return llvm::Error::success();
90 return llvm::errorCodeToError(llvm::errc::not_supported);
98 m_secondary_fd = llvm::sys::RetryAfterSignal(-1, ::open, name.c_str(), oflag);
100 return llvm::Error::success();
102 return llvm::errorCodeToError(
103 std::error_code(errno, std::generic_category()));
106 #if !HAVE_PTSNAME_R || defined(__APPLE__)
108 static std::mutex mutex;
109 std::lock_guard<std::mutex> guard(mutex);
111 assert(r !=
nullptr);
119 #if defined(__APPLE__)
120 if (__builtin_available(macos 10.13.4, iOS 11.3, tvOS 11.3, watchOS 4.4, *)) {
128 #if defined(__APPLE__)
139 #if LLDB_ENABLE_POSIX
141 return std::move(Err);
145 return llvm::errorCodeToError(
146 std::error_code(errno, std::generic_category()));
157 return std::move(Err);
163 #if defined(TIOCSCTTY)
166 return llvm::errorCodeToError(
167 std::error_code(errno, std::generic_category()));
171 for (
int fd : {STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO}) {
173 return llvm::errorCodeToError(
174 std::error_code(errno, std::generic_category()));