home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / KERNEL-S / V1.2 / LINUX-1.2 / LINUX-1 / linux / kernel / panic.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-03-01  |  628 b   |  33 lines

  1. /*
  2.  *  linux/kernel/panic.c
  3.  *
  4.  *  Copyright (C) 1991, 1992  Linus Torvalds
  5.  */
  6.  
  7. /*
  8.  * This function is used through-out the kernel (including mm and fs)
  9.  * to indicate a major problem.
  10.  */
  11. #include <stdarg.h>
  12.  
  13. #include <linux/kernel.h>
  14. #include <linux/sched.h>
  15.  
  16. asmlinkage void sys_sync(void);    /* it's really int */
  17.  
  18. NORET_TYPE void panic(const char * fmt, ...)
  19. {
  20.     static char buf[1024];
  21.     va_list args;
  22.  
  23.     va_start(args, fmt);
  24.     vsprintf(buf, fmt, args);
  25.     va_end(args);
  26.     printk(KERN_EMERG "Kernel panic: %s\n",buf);
  27.     if (current == task[0])
  28.         printk(KERN_EMERG "In swapper task - not syncing\n");
  29.     else
  30.         sys_sync();
  31.     for(;;);
  32. }
  33.