if kvm_nlist() fails, nlisterr() would be called before the screen
curses context would be initialized; just use errx() instead in this case this fixes coredump for cases like 'systat -N /netbsd.gz', reported by Walt on port-i386 in nlisterr(), wait a while (5 seconds currently) before exiting, so that it would be actually possible to actually see the error
This commit is contained in:
parent
37870ec770
commit
ecb9302c7f
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: main.c,v 1.33 2003/07/05 08:05:51 dsl Exp $ */
|
/* $NetBSD: main.c,v 1.34 2003/08/03 12:14:58 jdolecek Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 1980, 1992, 1993
|
* Copyright (c) 1980, 1992, 1993
|
||||||
|
@ -40,7 +40,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 1992, 1993\n\
|
||||||
#if 0
|
#if 0
|
||||||
static char sccsid[] = "@(#)main.c 8.1 (Berkeley) 6/6/93";
|
static char sccsid[] = "@(#)main.c 8.1 (Berkeley) 6/6/93";
|
||||||
#endif
|
#endif
|
||||||
__RCSID("$NetBSD: main.c,v 1.33 2003/07/05 08:05:51 dsl Exp $");
|
__RCSID("$NetBSD: main.c,v 1.34 2003/08/03 12:14:58 jdolecek Exp $");
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
|
@ -187,11 +187,12 @@ main(int argc, char **argv)
|
||||||
(void)setegid(getgid());
|
(void)setegid(getgid());
|
||||||
|
|
||||||
if (kvm_nlist(kd, namelist)) {
|
if (kvm_nlist(kd, namelist)) {
|
||||||
nlisterr(namelist);
|
if (nlistf)
|
||||||
exit(1);
|
errx(1, "%s: no namelist", nlistf);
|
||||||
|
else
|
||||||
|
errx(1, "no namelist");
|
||||||
}
|
}
|
||||||
if (namelist[X_FIRST].n_type == 0)
|
|
||||||
errx(1, "couldn't read namelist");
|
|
||||||
signal(SIGINT, die);
|
signal(SIGINT, die);
|
||||||
signal(SIGQUIT, die);
|
signal(SIGQUIT, die);
|
||||||
signal(SIGTERM, die);
|
signal(SIGTERM, die);
|
||||||
|
@ -407,6 +408,7 @@ nlisterr(struct nlist namelist[])
|
||||||
move(CMDLINE, 0);
|
move(CMDLINE, 0);
|
||||||
clrtoeol();
|
clrtoeol();
|
||||||
refresh();
|
refresh();
|
||||||
|
sleep(5);
|
||||||
endwin();
|
endwin();
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue