qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 14/14] bsd-user/signal: Create a dummy signal queueing functi


From: Warner Losh
Subject: Re: [PATCH 14/14] bsd-user/signal: Create a dummy signal queueing function
Date: Sun, 26 Sep 2021 12:14:08 -0600



On Fri, Sep 24, 2021 at 6:00 AM Richard Henderson <richard.henderson@linaro.org> wrote:
On 9/21/21 11:14 PM, Warner Losh wrote:
> Create dummy signal queueing function so we can start to integrate other
> architectures (at the cost of signals remaining broken) to tame the
> dependency graph a bit and to bring in signals in a more controlled
> fashion.
>
> Signed-off-by: Warner Losh <imp@bsdimp.com>
> ---
>   bsd-user/qemu.h   | 1 +
>   bsd-user/signal.c | 8 ++++++++
>   2 files changed, 9 insertions(+)
>
> diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
> index 5a2fd87e44..85d1f8fd2a 100644
> --- a/bsd-user/qemu.h
> +++ b/bsd-user/qemu.h
> @@ -209,6 +209,7 @@ void process_pending_signals(CPUArchState *cpu_env);
>   void signal_init(void);
>   long do_sigreturn(CPUArchState *env);
>   long do_rt_sigreturn(CPUArchState *env);
> +int queue_signal(CPUArchState *env, int sig, target_siginfo_t *info);
>   abi_long do_sigaltstack(abi_ulong uss_addr, abi_ulong uoss_addr, abi_ulong sp);
>   
>   /* mmap.c */
> diff --git a/bsd-user/signal.c b/bsd-user/signal.c
> index ad6d935569..4e7f618944 100644
> --- a/bsd-user/signal.c
> +++ b/bsd-user/signal.c
> @@ -19,6 +19,14 @@
>   #include "qemu/osdep.h"
>   
>   #include "qemu.h"
> +/*

Whacky whitespace.

Fixed.
 
> + * Queue a signal so that it will be send to the virtual CPU as soon as
> + * possible.
> + */
> +int queue_signal(CPUArchState *env, int sig, target_siginfo_t *info)
> +{
> +    return 1;
> +}

Both here and in linux-user, there are no error conditions.  We should change the return
to void.

In this stubbed out version, there's no errors. But bsd-user can return -EAGAIN when
alloc_sigqueue fails (which it can if there are no free qemu_sigqueue structures in
the preallocated list0. However, having said that, nothing checks the return value
so it's as if it is void... So I'll change it to void here... 
 
Also, consider folding in the signal-common.h cleanup soon.
But don't let either hold you up too much with rebasing.

I plan to. Once that's cleaned up and into the repo, I'll rebase bsd-user in the
fork, fold in the changes needed and then look at how I'm going to upstream
things.

Warner
 
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~

reply via email to

[Prev in Thread] Current Thread [Next in Thread]