diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2022-01-14 15:37:32 +0000 |
---|---|---|
committer | Laurent Vivier <laurent@vivier.eu> | 2022-01-18 12:42:28 +0100 |
commit | 337e88d8909b1442956acfa351d48e30a272251c (patch) | |
tree | 305012bf4e11cf8055f3a0a46cd3b2e694cbb980 /linux-user | |
parent | b5f9536643faa8a6a7b9e78d0944503a49a90fe3 (diff) | |
download | qemu-337e88d8909b1442956acfa351d48e30a272251c.zip qemu-337e88d8909b1442956acfa351d48e30a272251c.tar.gz qemu-337e88d8909b1442956acfa351d48e30a272251c.tar.bz2 |
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>
Diffstat (limited to 'linux-user')
-rw-r--r-- | linux-user/signal-common.h | 4 | ||||
-rw-r--r-- | linux-user/signal.c | 5 |
2 files changed, 4 insertions, 5 deletions
diff --git a/linux-user/signal-common.h b/linux-user/signal-common.h index 42aa479..2113165 100644 --- a/linux-user/signal-common.h +++ b/linux-user/signal-common.h @@ -59,8 +59,8 @@ void setup_rt_frame(int sig, struct target_sigaction *ka, void process_pending_signals(CPUArchState *cpu_env); void signal_init(void); -int queue_signal(CPUArchState *env, int sig, int si_type, - target_siginfo_t *info); +void queue_signal(CPUArchState *env, int sig, int si_type, + target_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); int target_to_host_signal(int sig); diff --git a/linux-user/signal.c b/linux-user/signal.c index bfbbeab..32854bb 100644 --- a/linux-user/signal.c +++ b/linux-user/signal.c @@ -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 as possible */ -int queue_signal(CPUArchState *env, int sig, int si_type, - target_siginfo_t *info) +void queue_signal(CPUArchState *env, int sig, int si_type, + target_siginfo_t *info) { CPUState *cpu = env_cpu(env); TaskState *ts = cpu->opaque; @@ -794,7 +794,6 @@ int queue_signal(CPUArchState *env, int sig, int si_type, ts->sync_signal.pending = sig; /* signal that a new signal is pending */ qatomic_set(&ts->signal_pending, 1); - return 1; /* indicates that the signal was queued */ } |