Commit b660cf2cab for qemu.org
commit b660cf2cab2e65bb8c088654f49d4fb2622a6f77
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Tue Jun 23 11:44:33 2026 +0400
ui/spice-app: implement display cleanup
Replace the atexit() handler with the display cleanup callback,
reusing the existing spice_app_atexit() function.
Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20260623-b4-ui-v4-18-4656aec3398d@redhat.com>
diff --git a/ui/spice-app.c b/ui/spice-app.c
index 0df7325e67..fe3df62bfa 100644
--- a/ui/spice-app.c
+++ b/ui/spice-app.c
@@ -119,16 +119,17 @@ static const TypeInfo char_vc_type_info = {
.class_size = sizeof(VCChardevClass),
};
-static void spice_app_atexit(void)
+static void spice_app_cleanup(void)
{
if (sock_path) {
unlink(sock_path);
+ g_clear_pointer(&sock_path, g_free);
}
if (tmp_dir) {
rmdir(tmp_dir);
+ tmp_dir = NULL;
}
- g_free(sock_path);
- g_free(app_dir);
+ g_clear_pointer(&app_dir, g_free);
}
static void spice_app_display_early_init(DisplayOptions *opts)
@@ -146,8 +147,6 @@ static void spice_app_display_early_init(DisplayOptions *opts)
exit(1);
}
- atexit(spice_app_atexit);
-
if (qemu_name) {
app_dir = g_build_filename(g_get_user_runtime_dir(),
"qemu", qemu_name, NULL);
@@ -218,6 +217,7 @@ static QemuDisplay qemu_display_spice_app = {
.type = DISPLAY_TYPE_SPICE_APP,
.early_init = spice_app_display_early_init,
.init = spice_app_display_init,
+ .cleanup = spice_app_cleanup,
.vc = "vc",
};