qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 1.1] coroutine: Fix setup of sigaltstack corouti


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 1.1] coroutine: Fix setup of sigaltstack coroutines
Date: Thu, 10 May 2012 09:29:31 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1

Il 09/05/2012 19:23, Jan Kiszka ha scritto:
> Use pthread_kill instead of process-wide kill to invoke the signal
> handler used for stack switching. This may fix spurious lock-ups with
> this backend, easily triggerable by extending the time window between
> kill and sigsuspend.
> 
> Signed-off-by: Jan Kiszka <address@hidden>
> ---
>  coroutine-sigaltstack.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/coroutine-sigaltstack.c b/coroutine-sigaltstack.c
> index 7ff2d33..b2e316c 100644
> --- a/coroutine-sigaltstack.c
> +++ b/coroutine-sigaltstack.c
> @@ -226,7 +226,7 @@ static Coroutine *coroutine_new(void)
>       * called.
>       */
>      coTS->tr_called = 0;
> -    kill(getpid(), SIGUSR2);
> +    pthread_kill(pthread_self(), SIGUSR2);
>      sigfillset(&sigs);
>      sigdelset(&sigs, SIGUSR2);
>      while (!coTS->tr_called) {

Reviewed-by: Paolo Bonzini <address@hidden>



reply via email to

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