================
@@ -109,14 +111,50 @@ class MemoryMonitorLinux : public MemoryMonitor {
if (pfds[stop_idx].revents & (POLLIN | POLLERR))
return {};
- if (pfds[pressure_idx].revents & POLLERR)
+ const short pressure_revents = pfds[stop_idx].revents;
+ if (pressure_revents & POLLERR)
return {};
- if (pfds[pressure_idx].revents & POLLPRI)
+ if ((pressure_revents & POLLPRI) && isLowMemory())
m_callback();
}
}
return {};
}
+
+ static bool isLowMemory() {
+ llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> bufferOrErr =
+ getProcFile("meminfo");
+
+ if (!bufferOrErr)
+ return false;
+
+ uint64_t mem_total = 0;
+ uint64_t mem_available = 0;
----------------
da-viper wrote:
Yes that is what I assumed.
https://github.com/llvm/llvm-project/pull/182011
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits