diff options
author | Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru> | 2018-02-27 12:52:54 +0300 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2018-03-12 17:09:50 +0100 |
commit | 1a423896fa4fc2ea49c64e7a493d88a8b251950d (patch) | |
tree | a5a6b9fe65e87c3af92059e45aa209a71e03b16d | |
parent | a36544d34c8b7e483386d29f9716ca9f4caad9fb (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>
-rw-r--r-- | replay/replay-internal.c | 5 | ||||
-rw-r--r-- | replay/replay-internal.h | 1 | ||||
-rw-r--r-- | replay/replay.c | 1 |
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) |