linux/lib/bust_spinlocks.c
<<
>>
Prefs
   1/*
   2 * lib/bust_spinlocks.c
   3 *
   4 * Provides a minimal bust_spinlocks for architectures which don't have one of their own.
   5 *
   6 * bust_spinlocks() clears any spinlocks which would prevent oops, die(), BUG()
   7 * and panic() information from reaching the user.
   8 */
   9
  10#include <linux/kernel.h>
  11#include <linux/spinlock.h>
  12#include <linux/tty.h>
  13#include <linux/wait.h>
  14#include <linux/vt_kern.h>
  15
  16
  17void __attribute__((weak)) bust_spinlocks(int yes)
  18{
  19        if (yes) {
  20                ++oops_in_progress;
  21        } else {
  22#ifdef CONFIG_VT
  23                unblank_screen();
  24#endif
  25                if (--oops_in_progress == 0)
  26                        wake_up_klogd();
  27        }
  28}
  29
  30
  31