summaryrefslogtreecommitdiff
path: root/proc/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'proc/main.c')
-rw-r--r--proc/main.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/proc/main.c b/proc/main.c
index 5a088b71..d97650fc 100644
--- a/proc/main.c
+++ b/proc/main.c
@@ -191,8 +191,17 @@ main (int argc, char **argv, char **envp)
if (err && err != EPERM)
error (0, err, "Increasing priority failed");
+ /* Get a list of all tasks to find the kernel. */
+ /* XXX: I't be nice if GNU Mach would hand us the task port. */
+ add_tasks (MACH_PORT_NULL);
+ kernel_proc = pid_find (HURD_PID_KERNEL);
+
+ /* Register for new task notifications using the kernel's process as
+ the port. */
err = register_new_task_notification (_hurd_host_priv,
- generic_port,
+ kernel_proc
+ ? ports_get_right (kernel_proc)
+ : generic_port,
MACH_MSG_TYPE_MAKE_SEND);
if (err)
error (0, err, "Registering task notifications failed");