[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 61/69] replay: don't destroy mutex at exit
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 61/69] replay: don't destroy mutex at exit |
Date: |
Tue, 13 Mar 2018 23:47:11 +0100 |
From: Pavel Dovgalyuk <address@hidden>
Replay mutex is held by vCPU thread and destroy function is called
from atexit of the main thread. Therefore we cannot destroy it safely.
Signed-off-by: Pavel Dovgalyuk <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Pavel Dovgalyuk <address@hidden>
---
replay/replay-internal.c | 5 -----
replay/replay-internal.h | 1 -
replay/replay.c | 1 -
3 files changed, 7 deletions(-)
diff --git a/replay/replay-internal.c b/replay/replay-internal.c
index 7cdefeaa04..fa7bba6dfd 100644
--- a/replay/replay-internal.c
+++ b/replay/replay-internal.c
@@ -176,11 +176,6 @@ void replay_mutex_init(void)
qemu_mutex_init(&lock);
}
-void replay_mutex_destroy(void)
-{
- qemu_mutex_destroy(&lock);
-}
-
bool replay_mutex_locked(void)
{
return replay_locked;
diff --git a/replay/replay-internal.h b/replay/replay-internal.h
index 41eee66e9b..d4037058e4 100644
--- a/replay/replay-internal.h
+++ b/replay/replay-internal.h
@@ -104,7 +104,6 @@ void replay_get_array_alloc(uint8_t **buf, size_t *size);
* synchronisation between vCPU and main-loop threads. */
void replay_mutex_init(void);
-void replay_mutex_destroy(void);
bool replay_mutex_locked(void);
/*! Checks error status of the file. */
diff --git a/replay/replay.c b/replay/replay.c
index 9cddb6bfc9..5d05ee0460 100644
--- a/replay/replay.c
+++ b/replay/replay.c
@@ -358,7 +358,6 @@ void replay_finish(void)
replay_snapshot = NULL;
replay_finish_events();
- replay_mutex_destroy();
}
void replay_add_blocker(Error *reason)
--
2.14.3
- [Qemu-devel] [PULL 50/69] hw/alpha/dp264: Use the TYPE_SMC37C669_SUPERIO, (continued)
- [Qemu-devel] [PULL 50/69] hw/alpha/dp264: Use the TYPE_SMC37C669_SUPERIO, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 52/69] cpu-exec: fix exception_index handling, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 53/69] replay: fix processing async events, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 54/69] replay: fixed replay_enable_events, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 56/69] replay: added replay log format description, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 55/69] replay: fix save/load vm for non-empty queue, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 57/69] replay: save prior value of the host clock, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 60/69] replay: make locking visible outside replay code, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 59/69] replay/replay-internal.c: track holding of replay_lock, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 58/69] replay/replay.c: bump REPLAY_VERSION again, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 61/69] replay: don't destroy mutex at exit,
Paolo Bonzini <=
- [Qemu-devel] [PULL 62/69] replay: push replay_mutex_lock up the call tree, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 64/69] replay: avoid recursive call of checkpoints, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 63/69] replay: check return values of fwrite, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 65/69] scripts/replay-dump.py: replay log dumper, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 66/69] replay: don't process async events when warping the clock, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 67/69] replay: save vmstate of the asynchronous events, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 68/69] replay: update documentation, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 69/69] tcg: fix cpu_io_recompile, Paolo Bonzini, 2018/03/13
- Re: [Qemu-devel] [PULL 00/69] Misc patches for QEMU soft freeze, no-reply, 2018/03/13