1
0
Fork 0

kms: Keep a shutting_down flag

This commit is contained in:
Daniel van Vugt 2022-04-20 18:33:43 +08:00
parent b61fe512ef
commit 0f18e66535
2 changed files with 11 additions and 0 deletions

View file

@ -63,6 +63,8 @@ struct _MetaKms
int kernel_thread_inhibit_count; int kernel_thread_inhibit_count;
MetaKmsCursorManager *cursor_manager; MetaKmsCursorManager *cursor_manager;
gboolean shutting_down;
}; };
G_DEFINE_TYPE (MetaKms, meta_kms, META_TYPE_THREAD) G_DEFINE_TYPE (MetaKms, meta_kms, META_TYPE_THREAD)
@ -354,6 +356,7 @@ static void
on_prepare_shutdown (MetaBackend *backend, on_prepare_shutdown (MetaBackend *backend,
MetaKms *kms) MetaKms *kms)
{ {
kms->shutting_down = TRUE;
meta_kms_run_impl_task_sync (kms, prepare_shutdown_in_impl, NULL, NULL); meta_kms_run_impl_task_sync (kms, prepare_shutdown_in_impl, NULL, NULL);
meta_thread_flush_callbacks (META_THREAD (kms)); meta_thread_flush_callbacks (META_THREAD (kms));
@ -413,6 +416,12 @@ meta_kms_new (MetaBackend *backend,
return kms; return kms;
} }
gboolean
meta_kms_is_shutting_down (MetaKms *kms)
{
return kms->shutting_down;
}
static void static void
meta_kms_finalize (GObject *object) meta_kms_finalize (GObject *object)
{ {

View file

@ -60,6 +60,8 @@ MetaKmsDevice * meta_kms_create_device (MetaKms *kms,
MetaKmsDeviceFlag flags, MetaKmsDeviceFlag flags,
GError **error); GError **error);
gboolean meta_kms_is_shutting_down (MetaKms *kms);
MetaKms * meta_kms_new (MetaBackend *backend, MetaKms * meta_kms_new (MetaBackend *backend,
MetaKmsFlags flags, MetaKmsFlags flags,
GError **error); GError **error);