linux/arch/um/include/shared/longjmp.h
<<
>>
Prefs
   1#ifndef __UML_LONGJMP_H
   2#define __UML_LONGJMP_H
   3
   4#include <sysdep/archsetjmp.h>
   5#include <os.h>
   6
   7extern int setjmp(jmp_buf);
   8extern 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