From: Jan Kiszka Date: Mon, 27 Oct 2014 14:13:02 +0000 (+0000) Subject: Revert "main-loop.c: Handle SIGINT, SIGHUP and SIGTERM synchronously" X-Git-Tag: v2.2.0-rc0~24 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3e9418e160cd8901c83a3c88967158084f5b5c03;p=thirdparty%2Fqemu.git Revert "main-loop.c: Handle SIGINT, SIGHUP and SIGTERM synchronously" This reverts commit 15124e142034d21341ec9f1a304a1dc5a6c25681. It breaks debuggability of qemu and is no longer needed as the problem has now been addressed in a different way. Instead we provide a comment about why these signals must be handled asynchronously. Signed-off-by: Jan Kiszka Reviewed-by: Gonglei [PMM: added comment] Signed-off-by: Peter Maydell --- diff --git a/main-loop.c b/main-loop.c index d2e64f1fa49..981bcb5f8e2 100644 --- a/main-loop.c +++ b/main-loop.c @@ -84,9 +84,11 @@ static int qemu_signal_init(void) sigaddset(&set, SIGIO); sigaddset(&set, SIGALRM); sigaddset(&set, SIGBUS); - sigaddset(&set, SIGINT); - sigaddset(&set, SIGHUP); - sigaddset(&set, SIGTERM); + /* SIGINT cannot be handled via signalfd, so that ^C can be used + * to interrupt QEMU when it is being run under gdb. SIGHUP and + * SIGTERM are also handled asynchronously, even though it is not + * strictly necessary, because they use the same handler as SIGINT. + */ pthread_sigmask(SIG_BLOCK, &set, NULL); sigdelset(&set, SIG_IPI);