PANIC(9)               NetBSD Kernel Developer's Manual               PANIC(9)

NAME
     panic -- Bring down system on fatal error

SYNOPSIS
     #include <sys/types.h>
     #include <sys/systm.h>

     void
     panic(const char *fmt, ...);

DESCRIPTION
     The panic() function terminates the NetBSD system.  The message fmt is a
     printf(3) style format string which is printed to the console and saved
     in the variable panicstr for later retrieval via core dump inspection.  A
     newline character is added at the end automatically, and is thus not
     needed in the format string.

     If a kernel debugger is installed, control is passed to it after the mes-
     sage is printed.  If the kernel debugger is ddb(4), control may be passed
     to it, depending on the value of ddb.onpanic.  See options(4) for more
     details on setting ddb.onpanic.  If control is not passed through to
     ddb(4), a ddb(4)-specific function is used to print the kernel stack
     trace, and then control returns to panic().

     If control remains in panic(), an attempt is made to save an image of
     system memory on the configured dump device.

     If during the process of handling the panic, panic() is called again
     (from the filesystem synchronization routines, for example), the system
     is rebooted immediately without synchronizing any filesystems.

RETURN VALUES
     The panic() function does not return.

SEE ALSO
     sysctl(3), ddb(4), ipkdb(4), options(4), savecore(8), swapctl(8),
     sysctl(8)

NetBSD 5.0_STABLE              January 28, 2006              NetBSD 5.0_STABLE
