[PATCH v2] ui/spice: Fix abort on macOS

Mohamed Akram posted 1 patch 1 month, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/C87205B9-DD8F-4E53-AB5B-C8BF82EF1D16@outlook.com
Maintainers: "Marc-André Lureau" <marcandre.lureau@redhat.com>
ui/spice-core.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
[PATCH v2] ui/spice: Fix abort on macOS
Posted by Mohamed Akram 1 month, 2 weeks ago
The check is faulty because the thread variable was assigned in the main
thread while the main loop runs in a different thread on macOS.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3070
Signed-off-by: Mohamed Akram <mohd.akram@outlook.com>
---
 ui/spice-core.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/ui/spice-core.c b/ui/spice-core.c
index 5992f9d..2645e96 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -50,8 +50,6 @@ static int spice_migration_completed;
 static int spice_display_is_running;
 static int spice_have_target_host;
 
-static QemuThread me;
-
 struct SpiceTimer {
     QEMUTimer *timer;
 };
@@ -222,7 +220,7 @@ static void channel_event(int event, SpiceChannelEventInfo *info)
      * thread and grab the BQL if so before calling qemu
      * functions.
      */
-    bool need_lock = !qemu_thread_is_self(&me);
+    bool need_lock = !bql_locked();
     if (need_lock) {
         bql_lock();
     }
@@ -675,8 +673,6 @@ static void qemu_spice_init(void)
     spice_wan_compression_t wan_compr;
     bool seamless_migration;
 
-    qemu_thread_get_self(&me);
-
     if (!opts) {
         return;
     }
-- 
2.51.0