jankratochvil created this revision.
jankratochvil added reviewers: clayborg, labath, JDevlieghere.
jankratochvil added a project: LLDB.
Sometimes (when running `lldb-vscode` under `strace`) I get:
read(0, "", 16) = 0
read(0, "", 16) = 0
read(0, "", 16) = 0
...
Patch is obvious, isn't it? With this patch testcases finish properly even
with `strace`:
read(0, "", 16) = 0
futex(0x1346508, FUTEX_WAKE_PRIVATE, 2147483647) = 0
stat("", 0x7ffe8f2634c8) = -1 ENOENT (No such file or
directory)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=9124, si_uid=1001,
si_status=SIGINT, si_utime=1, si_stime=0} ---
close(4) = 0
exit_group(0) = ?
+++ exited with 0 +++
Repository:
rLLDB LLDB
https://reviews.llvm.org/D64698
Files:
lldb/tools/lldb-vscode/IOStream.cpp
Index: lldb/tools/lldb-vscode/IOStream.cpp
===================================================================
--- lldb/tools/lldb-vscode/IOStream.cpp
+++ lldb/tools/lldb-vscode/IOStream.cpp
@@ -101,6 +101,11 @@
else
bytes_read = ::read(descriptor.m_fd, ptr, length);
+ if (bytes_read == 0) {
+ if (log)
+ *log << "End of file (EOF) reading from input file.\n";
+ return false;
+ }
if (bytes_read < 0) {
int reason = 0;
#if defined(_WIN32)
Index: lldb/tools/lldb-vscode/IOStream.cpp
===================================================================
--- lldb/tools/lldb-vscode/IOStream.cpp
+++ lldb/tools/lldb-vscode/IOStream.cpp
@@ -101,6 +101,11 @@
else
bytes_read = ::read(descriptor.m_fd, ptr, length);
+ if (bytes_read == 0) {
+ if (log)
+ *log << "End of file (EOF) reading from input file.\n";
+ return false;
+ }
if (bytes_read < 0) {
int reason = 0;
#if defined(_WIN32)
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits