summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glib-2.0/glib-2.0/0019-gatomicarray-Drop-volatile-qualifier-from-GAtomicArr.patch
blob: be3211664a46a3cad3033a872a7a8a2cffb81708 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
From 46bae4f18dfec8fedda82648091752d270b2dff8 Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@endlessos.org>
Date: Wed, 11 Nov 2020 19:19:20 +0000
Subject: [PATCH 19/29] gatomicarray: Drop volatile qualifier from GAtomicArray
 API

This is an API break, but it should not affect third party code since
that code should not be interacting with the `data` member in a way that
invokes its `volatile` qualifier (such as copying to an intermediate
variable).

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Helps: #600
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
---
 gobject/gatomicarray.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gobject/gatomicarray.h b/gobject/gatomicarray.h
index 9550fa396..89043c5e4 100644
--- a/gobject/gatomicarray.h
+++ b/gobject/gatomicarray.h
@@ -29,7 +29,7 @@ G_BEGIN_DECLS
 
 typedef struct _GAtomicArray GAtomicArray;
 struct _GAtomicArray {
-  volatile gpointer data;               /* elements - atomic */
+  gpointer data;  /* elements - atomic */
 };
 
 void     _g_atomic_array_init   (GAtomicArray *array);
@@ -42,7 +42,7 @@ void     _g_atomic_array_update (GAtomicArray *array,
 #define  G_ATOMIC_ARRAY_GET_LOCKED(_array, _type) ((_type *)((_array)->data))
 
 #define G_ATOMIC_ARRAY_DO_TRANSACTION(_array, _type, _C_) G_STMT_START {	\
-    volatile gpointer *_datap  = &(_array)->data;				\
+    gpointer *_datap  = &(_array)->data;				\
     _type *transaction_data, *__check;						\
 										\
     __check = g_atomic_pointer_get (_datap);					\
-- 
2.30.1