diff mbox series

[3/3] linux-user: Return void from queue_signal()

Message ID 20220114153732.3767229-4-peter.maydell@linaro.org (mailing list archive)
State New, archived
Headers show
Series linux-user: Fix some minor nits | expand

Commit Message

Peter Maydell Jan. 14, 2022, 3:37 p.m. UTC
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>
---
 linux-user/signal-common.h | 4 ++--
 linux-user/signal.c        | 5 ++---
 2 files changed, 4 insertions(+), 5 deletions(-)

Comments

Philippe Mathieu-Daudé Jan. 14, 2022, 3:57 p.m. UTC | #1
On 14/1/22 16:37, Peter Maydell wrote:
> 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>
> ---
>   linux-user/signal-common.h | 4 ++--
>   linux-user/signal.c        | 5 ++---
>   2 files changed, 4 insertions(+), 5 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Laurent Vivier Jan. 18, 2022, 11:42 a.m. UTC | #2
Le 14/01/2022 à 16:37, Peter Maydell a écrit :
> 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>
> ---
>   linux-user/signal-common.h | 4 ++--
>   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 42aa479080b..2113165a758 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 bfbbeab9ad2..32854bb3752 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 */
>   }
>   
>   

Applied to my trivial-patches branch.

Thanks,
Laurent
diff mbox series

Patch

diff --git a/linux-user/signal-common.h b/linux-user/signal-common.h
index 42aa479080b..2113165a758 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 bfbbeab9ad2..32854bb3752 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 */
 }