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 <jan.kis...@siemens.com> > --- > 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 <pbonz...@redhat.com>