[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL for-2.0 01/16] Revert "qtest: Fix crash if SIGABRT du
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PULL for-2.0 01/16] Revert "qtest: Fix crash if SIGABRT during qtest_init()" |
Date: |
Mon, 31 Mar 2014 23:10:47 +0200 |
From: Stefan Hajnoczi <address@hidden>
It turns out there are test cases that use multiple libqtest instances.
We cannot use a global qtest instance in the SIGABRT handler.
This reverts commit cb201b4872f16dfbce63f8648b2584631e2e965f.
Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Marcel Apfelbaum <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
---
tests/libqtest.c | 3 +--
tests/libqtest.h | 4 +++-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/tests/libqtest.c b/tests/libqtest.c
index b03b57a..2b90e4a 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -120,7 +120,7 @@ QTestState *qtest_init(const char *extra_args)
qemu_binary = getenv("QTEST_QEMU_BINARY");
g_assert(qemu_binary != NULL);
- global_qtest = s = g_malloc(sizeof(*s));
+ s = g_malloc(sizeof(*s));
socket_path = g_strdup_printf("/tmp/qtest-%d.sock", getpid());
qmp_socket_path = g_strdup_printf("/tmp/qtest-%d.qmp", getpid());
@@ -181,7 +181,6 @@ QTestState *qtest_init(const char *extra_args)
void qtest_quit(QTestState *s)
{
sigaction(SIGABRT, &s->sigact_old, NULL);
- global_qtest = NULL;
kill_qemu(s);
close(s->fd);
diff --git a/tests/libqtest.h b/tests/libqtest.h
index 27a58fd..8268c09 100644
--- a/tests/libqtest.h
+++ b/tests/libqtest.h
@@ -335,7 +335,8 @@ void qtest_add_func(const char *str, void (*fn));
*/
static inline QTestState *qtest_start(const char *args)
{
- return qtest_init(args);
+ global_qtest = qtest_init(args);
+ return global_qtest;
}
/**
@@ -346,6 +347,7 @@ static inline QTestState *qtest_start(const char *args)
static inline void qtest_end(void)
{
qtest_quit(global_qtest);
+ global_qtest = NULL;
}
/**
--
1.8.4.5
- [Qemu-devel] [PULL for-2.0 00/16] QOM devices patch queue 2014-03-31, Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 03/16] tests: Remove unsupported tests for MinGW, Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 02/16] qtest: Keep list of qtest instances for SIGABRT handler, Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 04/16] tests: Skip POSIX-only tests on Windows, Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 07/16] tests: Add nvme qtest, Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 08/16] tests: Add virtio-9p qtest, Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 06/16] nvme: Permit zero-length block devices, Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 05/16] tests: Correctly skip qtest on non-POSIX hosts, Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 01/16] Revert "qtest: Fix crash if SIGABRT during qtest_init()",
Andreas Färber <=
- [Qemu-devel] [PULL for-2.0 10/16] qtest: Factor out qtest_qmp_receive(), Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 11/16] pvpanic-test: Assert pause event, Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 12/16] tests: Add i82801b11 qtest, Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 09/16] tests: Add pvpanic qtest, Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 13/16] tmp105: Read temperature in milli-celsius, Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 15/16] tmp105-test: Add a second sensor and test that one, Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 14/16] tmp105-test: Wrap simple building blocks for testing, Andreas Färber, 2014/03/31
- [Qemu-devel] [PULL for-2.0 16/16] tmp105-test: Test QOM property and precision, Andreas Färber, 2014/03/31