Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

um: export signals_enabled directly

Use signals_enabled instead of always jumping through
a function call to read it, there's not much point in
that.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Richard Weinberger <richard@nod.at>

authored by

Johannes Berg and committed by
Richard Weinberger
fbb42e7f 2efea7df

+14 -20
+5 -5
arch/um/include/asm/irqflags.h
··· 2 2 #ifndef __UM_IRQFLAGS_H 3 3 #define __UM_IRQFLAGS_H 4 4 5 - extern int get_signals(void); 6 - extern int set_signals(int enable); 7 - extern void block_signals(void); 8 - extern void unblock_signals(void); 5 + extern int signals_enabled; 6 + int set_signals(int enable); 7 + void block_signals(void); 8 + void unblock_signals(void); 9 9 10 10 #define arch_local_save_flags arch_local_save_flags 11 11 static inline unsigned long arch_local_save_flags(void) 12 12 { 13 - return get_signals(); 13 + return signals_enabled; 14 14 } 15 15 16 16 #define arch_local_irq_restore arch_local_irq_restore
+7 -7
arch/um/include/shared/longjmp.h
··· 5 5 #include <sysdep/archsetjmp.h> 6 6 #include <os.h> 7 7 8 + extern int signals_enabled; 8 9 extern int setjmp(jmp_buf); 9 10 extern void longjmp(jmp_buf, int); 10 11 ··· 13 12 longjmp(*buf, val); \ 14 13 } while(0) 15 14 16 - #define UML_SETJMP(buf) ({ \ 17 - int n; \ 18 - volatile int enable; \ 19 - enable = get_signals(); \ 20 - n = setjmp(*buf); \ 21 - if(n != 0) \ 22 - set_signals_trace(enable); \ 15 + #define UML_SETJMP(buf) ({ \ 16 + int n, enable; \ 17 + enable = *(volatile int *)&signals_enabled; \ 18 + n = setjmp(*buf); \ 19 + if(n != 0) \ 20 + set_signals_trace(enable); \ 23 21 n; }) 24 22 25 23 #endif
-1
arch/um/include/shared/os.h
··· 237 237 extern int change_sig(int signal, int on); 238 238 extern void block_signals(void); 239 239 extern void unblock_signals(void); 240 - extern int get_signals(void); 241 240 extern int set_signals(int enable); 242 241 extern int set_signals_trace(int enable); 243 242 extern int os_is_signal_stack(void);
+1 -1
arch/um/kernel/ksyms.c
··· 7 7 #include <os.h> 8 8 9 9 EXPORT_SYMBOL(set_signals); 10 - EXPORT_SYMBOL(get_signals); 10 + EXPORT_SYMBOL(signals_enabled); 11 11 12 12 EXPORT_SYMBOL(os_stat_fd); 13 13 EXPORT_SYMBOL(os_stat_file);
+1 -6
arch/um/os-Linux/signal.c
··· 62 62 #define SIGALRM_BIT 1 63 63 #define SIGALRM_MASK (1 << SIGALRM_BIT) 64 64 65 - static int signals_enabled; 65 + int signals_enabled; 66 66 static unsigned int signals_pending; 67 67 static unsigned int signals_active = 0; 68 68 ··· 332 332 um_trace_signals_on(); 333 333 signals_enabled = 1; 334 334 } 335 - } 336 - 337 - int get_signals(void) 338 - { 339 - return signals_enabled; 340 335 } 341 336 342 337 int set_signals(int enable)