aboutsummaryrefslogtreecommitdiff
path: root/replay
diff options
context:
space:
mode:
authorPavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>2018-02-27 12:52:54 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2018-03-12 17:09:50 +0100
commit1a423896fa4fc2ea49c64e7a493d88a8b251950d (patch)
treea5a6b9fe65e87c3af92059e45aa209a71e03b16d /replay
parenta36544d34c8b7e483386d29f9716ca9f4caad9fb (diff)
replay: don't destroy mutex at exit
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 <pavel.dovgaluk@ispras.ru> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20180227095254.1060.96971.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
Diffstat (limited to 'replay')
-rw-r--r--replay/replay-internal.c5
-rw-r--r--replay/replay-internal.h1
-rw-r--r--replay/replay.c1
3 files changed, 0 insertions, 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)