[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1.1] coroutine: Fix setup of sigaltstack coroutines
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH 1.1] coroutine: Fix setup of sigaltstack coroutines |
Date: |
Wed, 09 May 2012 14:23:27 -0300 |
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 |
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) {
--
1.7.3.4
- [Qemu-devel] [PATCH 1.1] coroutine: Fix setup of sigaltstack coroutines,
Jan Kiszka <=