Panic now tries sys_kill with SIGKILL first.
LIBRARIES=libsys
libsys_FILES=" \
+ assert.c \
+ panic.c \
pci_attr_r16.c \
pci_attr_r32.c \
pci_attr_r8.c \
--- /dev/null
+/*
+ * assert.c - diagnostics
+ */
+
+#include <assert.h>
+#include <stdio.h>
+#include <minix/config.h>
+#include <minix/const.h>
+#include <minix/sysutil.h>
+
+void __bad_assertion(const char *mess) {
+ printf("%s", mess);
+ panic(NULL, NULL, NO_NUM);
+}
#include <stdlib.h>
+#include <signal.h>
+#include <minix/sysutil.h>
-#include "sysutil.h"
+#include "syslib.h"
int panicing= 0;
}
}
- /* Exit nicely through PM. */
- exit(1);
+ /* Try to signal ourself */
+ sys_kill(SELF, SIGKILL);
/* If exiting nicely through PM fails for some reason, try to
* commit suicide. E.g., message to PM might fail due to deadlock.
env_panic.c \
env_prefix.c \
fkey_ctl.c \
- panic.c \
report.c \
taskcall.c"