Commit fbb42e7f authored by Johannes Berg's avatar Johannes Berg Committed by Richard Weinberger
Browse files

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: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent 2efea7df
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -2,15 +2,15 @@
#ifndef __UM_IRQFLAGS_H
#define __UM_IRQFLAGS_H

extern int get_signals(void);
extern int set_signals(int enable);
extern void block_signals(void);
extern void unblock_signals(void);
extern int signals_enabled;
int set_signals(int enable);
void block_signals(void);
void unblock_signals(void);

#define arch_local_save_flags arch_local_save_flags
static inline unsigned long arch_local_save_flags(void)
{
	return get_signals();
	return signals_enabled;
}

#define arch_local_irq_restore arch_local_irq_restore
+7 −7
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@
#include <sysdep/archsetjmp.h>
#include <os.h>

extern int signals_enabled;
extern int setjmp(jmp_buf);
extern void longjmp(jmp_buf, int);

@@ -13,9 +14,8 @@ extern void longjmp(jmp_buf, int);
} while(0)

#define UML_SETJMP(buf) ({				\
	int n;	   \
	volatile int enable;	\
	enable = get_signals(); \
	int n, enable;					\
	enable = *(volatile int *)&signals_enabled;	\
	n = setjmp(*buf);				\
	if(n != 0)					\
		set_signals_trace(enable);		\
+0 −1
Original line number Diff line number Diff line
@@ -237,7 +237,6 @@ extern void send_sigio_to_self(void);
extern int change_sig(int signal, int on);
extern void block_signals(void);
extern void unblock_signals(void);
extern int get_signals(void);
extern int set_signals(int enable);
extern int set_signals_trace(int enable);
extern int os_is_signal_stack(void);
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@
#include <os.h>

EXPORT_SYMBOL(set_signals);
EXPORT_SYMBOL(get_signals);
EXPORT_SYMBOL(signals_enabled);

EXPORT_SYMBOL(os_stat_fd);
EXPORT_SYMBOL(os_stat_file);
+1 −6
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ static void sig_handler_common(int sig, struct siginfo *si, mcontext_t *mc)
#define SIGALRM_BIT 1
#define SIGALRM_MASK (1 << SIGALRM_BIT)

static int signals_enabled;
int signals_enabled;
static unsigned int signals_pending;
static unsigned int signals_active = 0;

@@ -334,11 +334,6 @@ void unblock_signals(void)
	}
}

int get_signals(void)
{
	return signals_enabled;
}

int set_signals(int enable)
{
	int ret;