]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
ui/spice: Fix abort on macOS
authorMohamed Akram <mohd.akram@outlook.com>
Mon, 29 Sep 2025 15:42:24 +0000 (15:42 +0000)
committerMarc-André Lureau <marcandre.lureau@redhat.com>
Tue, 30 Sep 2025 07:07:27 +0000 (11:07 +0400)
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>
Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <C87205B9-DD8F-4E53-AB5B-C8BF82EF1D16@outlook.com>

ui/spice-core.c

index 5992f9daecc2527479da3121cf95bef86e1f15eb..2645e96ef66fd6ff70d76e689aafc7f4f43531fc 100644 (file)
@@ -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;
     }