summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/source/Core/IOHandler.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lldb/source/Core/IOHandler.cpp b/lldb/source/Core/IOHandler.cpp
index b30308490cc..e3fb5052990 100644
--- a/lldb/source/Core/IOHandler.cpp
+++ b/lldb/source/Core/IOHandler.cpp
@@ -383,6 +383,9 @@ bool IOHandlerEditline::GetLine(std::string &line, bool &interrupted) {
// fgets twice until this bug is fixed.
if (fgets(buffer, sizeof(buffer), in) == nullptr &&
fgets(buffer, sizeof(buffer), in) == nullptr) {
+ // this is the equivalent of EINTR for Windows
+ if (GetLastError() == ERROR_OPERATION_ABORTED)
+ continue;
#else
if (fgets(buffer, sizeof(buffer), in) == nullptr) {
#endif
OpenPOWER on IntegriCloud