--- src/sys/kern/tty.c 2007/07/03 17:22:14 1.42 +++ src/sys/kern/tty.c 2007/08/12 16:57:31 1.43 @@ -2484,6 +2484,18 @@ proc_compare(struct proc *p1, struct pro if (p1 == NULL) return (1); + /* + * weed out zombies + */ + switch (TESTAB(p1->p_stat == SZOMB, p2->p_stat == SZOMB)) { + case ONLYA: + return (1); + case ONLYB: + return (0); + case BOTH: + return (p2->p_pid > p1->p_pid); /* tie - return highest pid */ + } + /* XXX lwp */ lp1 = FIRST_LWP_IN_PROC(p1); lp2 = FIRST_LWP_IN_PROC(p2); @@ -2507,17 +2519,6 @@ proc_compare(struct proc *p1, struct pro return (p2->p_pid > p1->p_pid); /* tie - return highest pid */ } /* - * weed out zombies - */ - switch (TESTAB(p1->p_stat == SZOMB, p2->p_stat == SZOMB)) { - case ONLYA: - return (1); - case ONLYB: - return (0); - case BOTH: - return (p2->p_pid > p1->p_pid); /* tie - return highest pid */ - } - /* * pick the one with the smallest sleep time */ if (lp2->lwp_slptime > lp1->lwp_slptime)