[PATCH] uml: use setjmp/longjmp instead of sigsetjmp/siglongjmp
Now that we are doing soft interrupts, there's no point in using sigsetjmp and siglongjmp. Using setjmp and longjmp saves a sigprocmask on every jump. Signed-off-by: Jeff Dike <jdike@addtoit.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
1d7173baf2
commit
c83d4635ee
@ -5,13 +5,13 @@
|
|||||||
#include "os.h"
|
#include "os.h"
|
||||||
|
|
||||||
#define UML_SIGLONGJMP(buf, val) do { \
|
#define UML_SIGLONGJMP(buf, val) do { \
|
||||||
siglongjmp(*buf, val); \
|
longjmp(*buf, val); \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
#define UML_SIGSETJMP(buf, enable) ({ \
|
#define UML_SIGSETJMP(buf, enable) ({ \
|
||||||
int n; \
|
int n; \
|
||||||
enable = get_signals(); \
|
enable = get_signals(); \
|
||||||
n = sigsetjmp(*buf, 1); \
|
n = setjmp(*buf); \
|
||||||
if(n != 0) \
|
if(n != 0) \
|
||||||
set_signals(enable); \
|
set_signals(enable); \
|
||||||
n; })
|
n; })
|
||||||
|
Loading…
Reference in New Issue
Block a user