aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2022-12-03 20:18:36 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2022-12-03 20:18:36 +0100
commit45afcc68979b700bdef1dc0e27ba79e0822b1c18 (patch)
treeeb095c4f47b97996618589d9b9c4859c1a124155 /include
parent9518a5e29e6774fb66821140c916522abb985eaf (diff)
downloadgnumach-45afcc68979b700bdef1dc0e27ba79e0822b1c18.tar.gz
gnumach-45afcc68979b700bdef1dc0e27ba79e0822b1c18.tar.bz2
gnumach-45afcc68979b700bdef1dc0e27ba79e0822b1c18.zip
task: Add task_set_essential
Whenever a Hurd essential task crashes, startup just reboots the system since there's not much that can be done at that point. When we have a kernel debugger, however, we could at least get crashing information, so let's let Hurd's startup tell the kernel which tasks are essential, and trigger the debugger whenever they crash.
Diffstat (limited to 'include')
-rw-r--r--include/mach/gnumach.defs8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/mach/gnumach.defs b/include/mach/gnumach.defs
index 531b5d4d..05101a48 100644
--- a/include/mach/gnumach.defs
+++ b/include/mach/gnumach.defs
@@ -189,3 +189,11 @@ routine vm_allocate_contiguous(
pmin : rpc_phys_addr_t;
pmax : rpc_phys_addr_t;
palign : rpc_phys_addr_t);
+
+/*
+ * Set whether TASK is an essential task, i.e. the whole system will crash
+ * if this task crashes.
+ */
+simpleroutine task_set_essential(
+ task : task_t;
+ essential : boolean_t);