qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] Fix signal handling when io-thread is disabled


From: Jan Kiszka
Subject: Re: [Qemu-devel] [PATCH] Fix signal handling when io-thread is disabled
Date: Tue, 14 Jun 2011 08:05:27 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

On 2011-06-14 05:46, Alexandre Raymond wrote:
> This fix effectively blocks, in the main thread, the signals handled
> by signalfd or the compatibility signal thread.
> 
> This way, such signals are received synchronously in the main thread
> through sigfd_handler() instead of triggering the signal handler
> directly, asynchronously.
> 
> Signed-off-by: Alexandre Raymond <address@hidden>
> ---
>  cpus.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/cpus.c b/cpus.c
> index 4ab76f0..b6366b5 100644
> --- a/cpus.c
> +++ b/cpus.c
> @@ -411,6 +411,7 @@ static int qemu_signal_init(void)
>          sigaddset(&set, SIGIO);
>          sigaddset(&set, SIGALRM);
>      }
> +    pthread_sigmask(SIG_BLOCK, &set, NULL);
>  #endif
>  
>      sigfd = qemu_signalfd(&set);

Good catch. Probably remained unnoticed as most of us have signalfd
support on their boxes so that the window for async delivery was rather
small.

But please pull the now common pthread_sigmask out of the #ifdef.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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