Added function crash_prog() to userland/libc
This commit is contained in:
parent
d466eb7102
commit
e51ebc0b1a
@ -55,4 +55,6 @@ void vwarnx(const char *fmt, __va_list);
|
||||
__DEAD void verr(int exitcode, const char *fmt, __va_list);
|
||||
__DEAD void verrx(int exitcode, const char *fmt, __va_list);
|
||||
|
||||
void crash_prog(void);
|
||||
|
||||
#endif /* _ERR_H_ */
|
||||
|
@ -139,6 +139,8 @@ verr(int exitcode, const char *fmt, va_list ap)
|
||||
{
|
||||
__printerr(1, fmt, ap);
|
||||
exit(exitcode);
|
||||
// exit() didn't work.
|
||||
crash_prog();
|
||||
}
|
||||
|
||||
/* errx/verrx: don't use errno, but do then exit */
|
||||
@ -147,6 +149,8 @@ verrx(int exitcode, const char *fmt, va_list ap)
|
||||
{
|
||||
__printerr(0, fmt, ap);
|
||||
exit(exitcode);
|
||||
// exit() didn't work.
|
||||
crash_prog();
|
||||
}
|
||||
|
||||
/*
|
||||
@ -189,3 +193,12 @@ errx(int exitcode, const char *fmt, ...)
|
||||
verrx(exitcode, fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
void
|
||||
crash_prog(void)
|
||||
{
|
||||
// Guru: Since exit() may not yet be implemented, just trigger a
|
||||
// failure so things don't fall through to a success print
|
||||
nprintf("Accessing invalid memory location to trigger failure\n");
|
||||
tprintf("%d", *((int *) 0xd34db33f));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user