diff options
author | Pavel Labath <labath@google.com> | 2015-07-20 16:14:46 +0000 |
---|---|---|
committer | Pavel Labath <labath@google.com> | 2015-07-20 16:14:46 +0000 |
commit | 44e82db2919c9caab3530d03e066943c58dc6fcd (patch) | |
tree | e5bba8b78078be0b0d95be853411580ce09cb69e /lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp | |
parent | 19dbd6c6c250d01e4774613bd92d53f6b895bed8 (diff) | |
download | bcm5719-llvm-44e82db2919c9caab3530d03e066943c58dc6fcd.tar.gz bcm5719-llvm-44e82db2919c9caab3530d03e066943c58dc6fcd.zip |
[NativeProcessLinux] Bugfix in the monitor thread
Make sure we dont treat EINTR as a fatal error. I was getting this when trying to profile the
debugger. I'm not sure why this wasn't surfacing before, it could be that the profiler is using
some signals internally.
llvm-svn: 242681
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp')
-rw-r--r-- | lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp index 372ac789d6a..85638720b9a 100644 --- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp +++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp @@ -744,6 +744,9 @@ NativeProcessLinux::Monitor::MainLoop() int r = select(max_fd, &fds, nullptr, nullptr, nullptr); if (r < 0) { + if (errno == EINTR) + continue; + Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_PROCESS)); if (log) log->Printf("NativeProcessLinux::Monitor::%s exiting because select failed: %s", |