diff options
Diffstat (limited to 'arch/um/os-Linux/process.c')
-rw-r--r-- | arch/um/os-Linux/process.c | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/arch/um/os-Linux/process.c b/arch/um/os-Linux/process.c index 39815c6b5e45..7f5e2dac2a35 100644 --- a/arch/um/os-Linux/process.c +++ b/arch/um/os-Linux/process.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include "process.h" | 18 | #include "process.h" |
19 | #include "irq_user.h" | 19 | #include "irq_user.h" |
20 | #include "kern_util.h" | 20 | #include "kern_util.h" |
21 | #include "longjmp.h" | ||
21 | 22 | ||
22 | #define ARBITRARY_ADDR -1 | 23 | #define ARBITRARY_ADDR -1 |
23 | #define FAILURE_PID -1 | 24 | #define FAILURE_PID -1 |
@@ -205,24 +206,13 @@ void init_new_thread_signals(int altstack) | |||
205 | 206 | ||
206 | int run_kernel_thread(int (*fn)(void *), void *arg, void **jmp_ptr) | 207 | int run_kernel_thread(int (*fn)(void *), void *arg, void **jmp_ptr) |
207 | { | 208 | { |
208 | sigjmp_buf buf; | 209 | sigjmp_buf buf; |
209 | int n; | 210 | int n, enable; |
210 | 211 | ||
211 | *jmp_ptr = &buf; | 212 | *jmp_ptr = &buf; |
212 | n = sigsetjmp(buf, 1); | 213 | n = UML_SIGSETJMP(&buf, enable); |
213 | if(n != 0) | 214 | if(n != 0) |
214 | return(n); | 215 | return(n); |
215 | (*fn)(arg); | 216 | (*fn)(arg); |
216 | return(0); | 217 | return(0); |
217 | } | 218 | } |
218 | |||
219 | /* | ||
220 | * Overrides for Emacs so that we follow Linus's tabbing style. | ||
221 | * Emacs will notice this stuff at the end of the file and automatically | ||
222 | * adjust the settings for this buffer only. This must remain at the end | ||
223 | * of the file. | ||
224 | * --------------------------------------------------------------------------- | ||
225 | * Local variables: | ||
226 | * c-file-style: "linux" | ||
227 | * End: | ||
228 | */ | ||