Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc
[linux-2.6] / arch / um / include / longjmp.h
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