blob: 1875ce9a35e5d845eb125520bb1628697aea29bf [file] [log] [blame]
#include <arch/arch.h>
#include <stdio.h>
#include <stdarg.h>
char *argv0;
/*
* Panic is called on unresolvable fatal errors.
* It prints "panic: <message>", then causes a breakpoint exception,
* which causes ROS to enter the ROS kernel monitor.
*/
void
_panic(const char *file, int line, const char *fmt,...)
{
va_list ap;
va_start(ap, fmt);
// Print the panic message
if (argv0)
printf("%s: ", argv0);
printf("user panic at %s:%d: ", file, line);
vprintf(fmt, ap);
printf("\n");
// Cause a breakpoint exception
while (1)
breakpoint();
}