From 45afcc68979b700bdef1dc0e27ba79e0822b1c18 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 3 Dec 2022 20:18:36 +0100 Subject: 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. --- doc/mach.texi | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'doc') diff --git a/doc/mach.texi b/doc/mach.texi index 4abafe1a..fecd097b 100644 --- a/doc/mach.texi +++ b/doc/mach.texi @@ -5100,6 +5100,17 @@ printed by the kernel. The function returns @code{KERN_SUCCESS} if the call succeeded. @end deftypefun +@deftypefun kern_return_t task_set_essential (@w{task_t @var{target_task}}, @w{boolean_t @var{essential}}) + +The function @code{task_set_essential} sets whether @var{target_task} is +essential for the system, i.e. the system will completely crash and reboot if +that task crashes. This means that when the debugger is enabled, it should be +triggered on the crash, so as to get the opportunity to debug the issue instead +of just rebooting. + +The function returns @code{KERN_SUCCESS} if the call succeeded. +@end deftypefun + @node Task Execution @subsection Task Execution -- cgit v1.2.3