home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / um / include / shared / longjmp.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  401 b   |  24 lines

  1. #ifndef __UML_LONGJMP_H
  2. #define __UML_LONGJMP_H
  3.  
  4. #include "sysdep/archsetjmp.h"
  5. #include "os.h"
  6.  
  7. extern int setjmp(jmp_buf);
  8. extern void longjmp(jmp_buf, int);
  9.  
  10. #define UML_LONGJMP(buf, val) do { \
  11.     longjmp(*buf, val);    \
  12. } while(0)
  13.  
  14. #define UML_SETJMP(buf) ({ \
  15.     int n;       \
  16.     volatile int enable;    \
  17.     enable = get_signals(); \
  18.     n = setjmp(*buf); \
  19.     if(n != 0) \
  20.         set_signals(enable); \
  21.     n; })
  22.  
  23. #endif
  24.