linux-user: Return void from queue_signal()

The linux-user queue_signal() function always returns 1, and none of
its callers check the return value.  Give it a void return type
instead.

The return value is a leftover from the old pre-2016 linux-user
signal handling code, which really did have a queue of signals and so
might return a failure indication if too many signals were queued at
once.  The current design avoids having to ever have more than one
signal queued via queue_signal() at once, so it can never fail.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220114153732.3767229-4-peter.maydell@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
Peter Maydell 2022-01-14 15:37:32 +00:00 committed by Laurent Vivier
parent b5f9536643
commit 337e88d890
2 changed files with 4 additions and 5 deletions

View File

@ -59,8 +59,8 @@ void setup_rt_frame(int sig, struct target_sigaction *ka,
void process_pending_signals(CPUArchState *cpu_env); void process_pending_signals(CPUArchState *cpu_env);
void signal_init(void); void signal_init(void);
int queue_signal(CPUArchState *env, int sig, int si_type, void queue_signal(CPUArchState *env, int sig, int si_type,
target_siginfo_t *info); target_siginfo_t *info);
void host_to_target_siginfo(target_siginfo_t *tinfo, const siginfo_t *info); void host_to_target_siginfo(target_siginfo_t *tinfo, const siginfo_t *info);
void target_to_host_siginfo(siginfo_t *info, const target_siginfo_t *tinfo); void target_to_host_siginfo(siginfo_t *info, const target_siginfo_t *tinfo);
int target_to_host_signal(int sig); int target_to_host_signal(int sig);

View File

@ -780,8 +780,8 @@ static void QEMU_NORETURN dump_core_and_abort(int target_sig)
/* queue a signal so that it will be send to the virtual CPU as soon /* queue a signal so that it will be send to the virtual CPU as soon
as possible */ as possible */
int queue_signal(CPUArchState *env, int sig, int si_type, void queue_signal(CPUArchState *env, int sig, int si_type,
target_siginfo_t *info) target_siginfo_t *info)
{ {
CPUState *cpu = env_cpu(env); CPUState *cpu = env_cpu(env);
TaskState *ts = cpu->opaque; TaskState *ts = cpu->opaque;
@ -794,7 +794,6 @@ int queue_signal(CPUArchState *env, int sig, int si_type,
ts->sync_signal.pending = sig; ts->sync_signal.pending = sig;
/* signal that a new signal is pending */ /* signal that a new signal is pending */
qatomic_set(&ts->signal_pending, 1); qatomic_set(&ts->signal_pending, 1);
return 1; /* indicates that the signal was queued */
} }