From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:49046) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQnsa-0006GW-5t for qemu-devel@nongnu.org; Sun, 29 May 2011 17:50:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QQnsZ-00046I-6n for qemu-devel@nongnu.org; Sun, 29 May 2011 17:50:36 -0400 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Sun, 29 May 2011 23:50:31 +0200 Message-Id: <1306705831-59385-1-git-send-email-andreas.faerber@web.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: andreas.faerber@web.de Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH] Use SIGIO with caution List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-trivial@nongnu.org, =?UTF-8?q?Andreas=20F=C3=A4rber?= BeOS and Haiku don't define SIGIO. When undefined, it won't arrive and doesn't need to be blocked. Signed-off-by: Andreas F=C3=A4rber --- cpus.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/cpus.c b/cpus.c index 1fc34b7..42af291 100644 --- a/cpus.c +++ b/cpus.c @@ -395,7 +395,9 @@ static int qemu_signal_init(void) pthread_sigmask(SIG_UNBLOCK, &set, NULL); =20 sigemptyset(&set); +#ifdef SIGIO sigaddset(&set, SIGIO); +#endif sigaddset(&set, SIGALRM); sigaddset(&set, SIG_IPI); sigaddset(&set, SIGBUS); @@ -408,7 +410,9 @@ static int qemu_signal_init(void) * We need to process timer signals synchronously to avoid a rac= e * between exit_request check and KVM vcpu entry. */ +#ifdef SIGIO sigaddset(&set, SIGIO); +#endif sigaddset(&set, SIGALRM); } #endif @@ -449,12 +453,16 @@ static void qemu_kvm_init_cpu_signals(CPUState *env= ) #else sigemptyset(&set); sigaddset(&set, SIG_IPI); +#ifdef SIGIO sigaddset(&set, SIGIO); +#endif sigaddset(&set, SIGALRM); pthread_sigmask(SIG_BLOCK, &set, NULL); =20 pthread_sigmask(SIG_BLOCK, NULL, &set); +#ifdef SIGIO sigdelset(&set, SIGIO); +#endif sigdelset(&set, SIGALRM); #endif sigdelset(&set, SIG_IPI); --=20 1.7.5.3