summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-core/glib-2.0/glib-2.0/0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/recipes-core/glib-2.0/glib-2.0/0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch')
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch76
1 files changed, 0 insertions, 76 deletions
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch
deleted file mode 100644
index 9c4e45ff4..000000000
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 47da8ec5d9a284e07f77c7d59fc8eacf3ebf188a Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Mon, 16 Nov 2020 16:57:22 +0000
-Subject: [PATCH 27/29] gtype: Add some missing atomic accesses to init_state
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Half of the references to `init_state` in `gtype.c` already correctly
-accessed it atomically, but a couple didn’t. Drop the `volatile`
-qualifier from its declaration, as that’s not necessary for atomic
-access.
-
-Note that this is the `init_state` in `TypeData`, *not* the `init_state`
-in `IFaceEntry`.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-
-Helps: #600
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
----
- gobject/gtype.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/gobject/gtype.c b/gobject/gtype.c
-index ae1af8a05..909faf138 100644
---- a/gobject/gtype.c
-+++ b/gobject/gtype.c
-@@ -322,7 +322,7 @@ struct _ClassData
- CommonData common;
- guint16 class_size;
- guint16 class_private_size;
-- int volatile init_state; /* atomic - g_type_class_ref reads it unlocked */
-+ int init_state; /* (atomic) - g_type_class_ref reads it unlocked */
- GBaseInitFunc class_init_base;
- GBaseFinalizeFunc class_finalize_base;
- GClassInitFunc class_init;
-@@ -336,7 +336,7 @@ struct _InstanceData
- CommonData common;
- guint16 class_size;
- guint16 class_private_size;
-- int volatile init_state; /* atomic - g_type_class_ref reads it unlocked */
-+ int init_state; /* (atomic) - g_type_class_ref reads it unlocked */
- GBaseInitFunc class_init_base;
- GBaseFinalizeFunc class_finalize_base;
- GClassInitFunc class_init;
-@@ -1415,7 +1415,7 @@ type_node_add_iface_entry_W (TypeNode *node,
-
- if (parent_entry)
- {
-- if (node->data && node->data->class.init_state >= BASE_IFACE_INIT)
-+ if (node->data && g_atomic_int_get (&node->data->class.init_state) >= BASE_IFACE_INIT)
- {
- entries->entry[i].init_state = INITIALIZED;
- entries->entry[i].vtable = parent_entry->vtable;
-@@ -1481,7 +1481,7 @@ type_add_interface_Wm (TypeNode *node,
- */
- if (node->data)
- {
-- InitState class_state = node->data->class.init_state;
-+ InitState class_state = g_atomic_int_get (&node->data->class.init_state);
-
- if (class_state >= BASE_IFACE_INIT)
- type_iface_vtable_base_init_Wm (iface, node);
-@@ -2175,7 +2175,7 @@ type_class_init_Wm (TypeNode *node,
- g_assert (node->is_classed && node->data &&
- node->data->class.class_size &&
- !node->data->class.class &&
-- node->data->class.init_state == UNINITIALIZED);
-+ g_atomic_int_get (&node->data->class.init_state) == UNINITIALIZED);
- if (node->data->class.class_private_size)
- class = g_malloc0 (ALIGN_STRUCT (node->data->class.class_size) + node->data->class.class_private_size);
- else
---
-2.30.1
-