[PATCH 12/17] mach-defpager: register mach-defpager translators as important
Register any mach-defpager translators running as root as
important processes at the proc server.
* mach-defpager/main.c (main): Mark us as important.
---
mach-defpager/main.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/mach-defpager/main.c b/mach-defpager/main.c
index 3134d6f..fe6f735 100644
--- a/mach-defpager/main.c
+++ b/mach-defpager/main.c
@@ -125,6 +125,19 @@ main (int argc, char **argv)
}
}
+ /* Mark us as important. */
+ mach_port_t proc = getproc ();
+ if (proc == MACH_PORT_NULL)
+ error (3, err, "cannot get a handle to our process");
+
+ err = proc_mark_important (proc);
+ /* This might fail due to permissions or because the old proc server
+ is still running, ignore any such errors. */
+ if (err && err != EPERM && err != EMIG_BAD_ID)
+ error (3, err, "cannot mark us as important");
+
+ mach_port_deallocate (mach_task_self (), proc);
+
printf_init(bootstrap_master_device_port);
/*
--
1.7.10.4
Reply to: