================ @@ -0,0 +1,114 @@ +//===-- MemoryMonitor.cpp -------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "MemoryMonitor.h" +#include "llvm/ADT/ScopeExit.h" +#include <atomic> +#include <cstdio> +#include <cstring> +#include <thread> + +#if defined(__APPLE__) +#include <dispatch/dispatch.h> +#endif + +#if defined(__linux__) +#include <fcntl.h> +#include <poll.h> +#include <unistd.h> +#endif + +using namespace lldb_dap; + +#if defined(__APPLE__) +class MemoryMonitorDarwin : public MemoryMonitor { + using MemoryMonitor::MemoryMonitor; + void Start() override { + m_memory_pressure_source = dispatch_source_create( + DISPATCH_SOURCE_TYPE_MEMORYPRESSURE, + 0, // system-wide monitoring + DISPATCH_MEMORYPRESSURE_WARN | DISPATCH_MEMORYPRESSURE_CRITICAL, + dispatch_get_main_queue()); ---------------- JDevlieghere wrote:
Good catch, I meant to use `dispatch_get_global_queue` and I confused it with `dispatch_get_main_queue` . https://github.com/llvm/llvm-project/pull/129332 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits