summaryrefslogtreecommitdiff
path: root/vm
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2025-02-09 02:03:48 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2025-02-09 02:03:48 +0100
commita1579ee894ac35972ca408d5ba033f1fc3fdf2b6 (patch)
treeddeaa4bedbfc9c0427efad1edf52dd0542290766 /vm
parent7dccadf82894b5f81aa7800f830a9dbf238a742b (diff)
vm_page: Also detect default memory manager being dead
Diffstat (limited to 'vm')
-rw-r--r--vm/vm_page.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/vm/vm_page.c b/vm/vm_page.c
index 39aa674a..65465f8b 100644
--- a/vm/vm_page.c
+++ b/vm/vm_page.c
@@ -43,6 +43,7 @@
#include <kern/thread.h>
#include <mach/vm_param.h>
#include <machine/pmap.h>
+#include <ipc/ipc_port.h>
#include <sys/types.h>
#include <vm/memory_object.h>
#include <vm/vm_page.h>
@@ -2035,7 +2036,7 @@ again:
* Eviction failed, consider pages from internal objects on the
* next attempt.
*/
- if (external_only && memory_manager_default) {
+ if (external_only && IP_VALID(memory_manager_default)) {
simple_unlock(&vm_page_queue_free_lock);
external_only = FALSE;
goto again;