Blame view
lib/bust_spinlocks.c
588 Bytes
1da177e4c
|
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
|
9 10 11 12 13 |
#include <linux/kernel.h> #include <linux/spinlock.h> #include <linux/tty.h> #include <linux/wait.h> #include <linux/vt_kern.h> |
cefc8be82
|
14 |
void __attribute__((weak)) bust_spinlocks(int yes) |
1da177e4c
|
15 16 |
{ if (yes) { |
004429956
|
17 |
++oops_in_progress; |
1da177e4c
|
18 |
} else { |
1da177e4c
|
19 20 21 |
#ifdef CONFIG_VT unblank_screen(); #endif |
004429956
|
22 23 |
if (--oops_in_progress == 0) wake_up_klogd(); |
1da177e4c
|
24 25 |
} } |