From 835b293d35a209d38047126443d41fa7090daa4c Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Mon, 19 Jun 2017 21:20:57 +0200 Subject: Use our own variant of 'assert' and 'assert_perror'. Our variants print stack traces on failures. This will make locating errors much easier. --- proc/mgt.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'proc/mgt.c') diff --git a/proc/mgt.c b/proc/mgt.c index a9015ccc..750073a0 100644 --- a/proc/mgt.c +++ b/proc/mgt.c @@ -33,7 +33,7 @@ #include #include #include -#include +#include #include #include "proc.h" @@ -189,7 +189,7 @@ S_proc_child (struct proc *parentp, /* Process hierarchy. Remove from our current location and place us under our new parent. Sanity check to make sure parent is currently init. */ - assert (childp->p_parent == init_proc); + assert_backtrace (childp->p_parent == init_proc); if (childp->p_sib) childp->p_sib->p_prevsib = childp->p_prevsib; *childp->p_prevsib = childp->p_sib; @@ -606,7 +606,7 @@ create_init_proc (void) const char *rootsname = "root"; p = allocate_proc (MACH_PORT_NULL); - assert (p); + assert_backtrace (p); p->p_pid = HURD_PID_INIT; @@ -622,11 +622,11 @@ create_init_proc (void) p->p_noowner = 0; p->p_id = make_ids (&zero, 1); - assert (p->p_id); + assert_backtrace (p->p_id); p->p_loginleader = 1; p->p_login = malloc (sizeof (struct login) + strlen (rootsname) + 1); - assert (p->p_login); + assert_backtrace (p->p_login); p->p_login->l_refcnt = 1; strcpy (p->p_login->l_name, rootsname); @@ -649,7 +649,7 @@ proc_death_notify (struct proc *p) p->p_pi.port_right, MACH_MSG_TYPE_MAKE_SEND_ONCE, &old); - assert_perror (err); + assert_perror_backtrace (err); if (old != MACH_PORT_NULL) mach_port_deallocate (mach_task_self (), old); @@ -681,7 +681,7 @@ complete_proc (struct proc *p, pid_t pid) HURD_PID_INIT. */ static const uid_t zero; p->p_id = make_ids (&zero, 1); - assert (p->p_id); + assert_backtrace (p->p_id); } else { @@ -930,8 +930,8 @@ process_has_exited (struct proc *p) void complete_exit (struct proc *p) { - assert (p->p_dead); - assert (p->p_waited); + assert_backtrace (p->p_dead); + assert_backtrace (p->p_waited); remove_proc_from_hash (p); if (p->p_task != MACH_PORT_NULL) @@ -1178,7 +1178,7 @@ S_mach_notify_new_task (struct port_info *notify, proc_child, so we do it on their behalf. */ mach_port_mod_refs (mach_task_self (), task, MACH_PORT_RIGHT_SEND, +1); err = S_proc_child (parentp, task); - assert_perror (err); + assert_perror_backtrace (err); /* Relay the notification. This consumes task and parent. */ return mach_notify_new_task (childp->p_task_namespace, task, parent); -- cgit v1.2.3