Blame view
lib/bust_spinlocks.c
660 Bytes
1da177e4c Linux-2.6.12-rc2 |
1 2 3 4 5 6 7 8 |
/* * lib/bust_spinlocks.c * * Provides a minimal bust_spinlocks for architectures which don't have one of their own. * * bust_spinlocks() clears any spinlocks which would prevent oops, die(), BUG() * and panic() information from reaching the user. */ |
1da177e4c Linux-2.6.12-rc2 |
9 |
#include <linux/kernel.h> |
dc72c32e1 printk: Provide a... |
10 |
#include <linux/printk.h> |
1da177e4c Linux-2.6.12-rc2 |
11 12 13 14 |
#include <linux/spinlock.h> #include <linux/tty.h> #include <linux/wait.h> #include <linux/vt_kern.h> |
b61312d35 oops handling: en... |
15 |
#include <linux/console.h> |
1da177e4c Linux-2.6.12-rc2 |
16 |
|
cefc8be82 [PATCH] Consolida... |
17 |
void __attribute__((weak)) bust_spinlocks(int yes) |
1da177e4c Linux-2.6.12-rc2 |
18 19 |
{ if (yes) { |
004429956 handle recursive ... |
20 |
++oops_in_progress; |
1da177e4c Linux-2.6.12-rc2 |
21 |
} else { |
1da177e4c Linux-2.6.12-rc2 |
22 23 24 |
#ifdef CONFIG_VT unblank_screen(); #endif |
b61312d35 oops handling: en... |
25 |
console_unblank(); |
004429956 handle recursive ... |
26 27 |
if (--oops_in_progress == 0) wake_up_klogd(); |
1da177e4c Linux-2.6.12-rc2 |
28 29 |
} } |