glib/gobject
Colin Walters 4631cd892d gobject: Change assertions to read values via atomics
I'm trying to use `-fsanitize=thread` for OSTree, and some of
these issues seem to go into GLib.  Also, the sanitizers work better if
the userspace libraries are built with them too.

This fix is similar to
b6814bb37c

Mixing atomic and non-atomic reads trips TSAN, so let's change the
assertions to operate on the local values returned from atomic
read/writes.

Without this change I couldn't even *build* GLib with TSAN, since we
use gresources during compilation, which uses GSubprocess, which hits
this code.

(Minor review fixes made by Philip Withnall <withnall@endlessm.com>.)

https://gitlab.gnome.org/GNOME/glib/issues/1224
2019-01-31 13:18:40 +00:00
..
tests build: Drop autotools support 2019-01-15 15:11:43 +00:00
.gitignore build: Drop nmake/MSC build system for GLib 2017-07-10 11:22:40 +01:00
gatomicarray.c gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gatomicarray.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gbinding.c binding: Clarify the use of g_object_unref() to remove a binding 2018-12-17 11:01:07 +01:00
gbinding.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gboxed.c gdate: add g_date_copy() 2017-10-11 12:13:20 +01:00
gboxed.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gclosure.c gclosure: Minor documentation formatting improvements 2018-08-16 10:59:45 +01:00
gclosure.h gclosure: Expand documentation and fix some typos 2018-04-26 18:04:47 +01:00
genums.c gobject/genums.c: fix flags validation 2018-11-01 01:41:32 +03:00
genums.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
glib-genmarshal.in gobject: Fix redundant warning message in glib-genmarshal 2018-04-23 16:16:36 +01:00
glib-mkenums.in glib-mkenums: Support reading @rspfiles for arguments 2018-12-04 16:16:00 +05:30
glib-types.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gmarshal.c introspection: use (nullable) or (optional) instead of (allow-none) 2016-11-22 14:14:37 -08:00
gmarshal.h gmarshal.h: replace "extern" with GLIB_AVAILABLE_IN_ALL 2013-01-13 13:13:55 -05:00
gobject_gdb.py python: avoid equality check for None 2018-07-12 23:48:41 +02:00
gobject_probes.d Add missing semicolons to gobject_probes.d 2012-10-15 19:48:44 -04:00
gobject_trace.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gobject-autocleanups.h gobject: Add g_autoptr() support for GTypeClass, GEnumClass, GFlagsClass 2018-05-15 15:38:33 +01:00
gobject-query.c Spelling: fix spelling of specify 2018-09-25 14:34:48 +01:00
gobject.c gobject: Change assertions to read values via atomics 2019-01-31 13:18:40 +00:00
gobject.h gmacros: Add new private g_has_typeof to abstract __typeof__ checks 2018-07-16 15:59:44 +01:00
gobject.rc.in meson: build Windows resource files 2018-01-04 22:19:30 +01:00
gobject.stp.in glib: Namespace global tapset variables by soname 2016-11-23 10:50:39 +00:00
gobjectnotifyqueue.c gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gparam.c gobject: Fix typo in documentation for g_param_spec_get_default_value() 2017-11-01 11:13:27 +00:00
gparam.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gparamspecs.c gobject: Reimplement g_param_values_cmp() for GParamSpecVariant 2018-05-04 18:17:59 +01:00
gparamspecs.h gobject: Reimplement g_param_values_cmp() for GParamSpecVariant 2018-05-04 18:17:59 +01:00
gsignal.c docs: Fix typo in gsignal.c documentation comment 2018-05-17 13:54:46 +01:00
gsignal.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gsourceclosure.c all: Remove trailing newlines from g_message()/g_warning()/g_error()s 2018-04-27 16:46:19 +01:00
gsourceclosure.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gtype-private.h gtype: Add private DEFINE_TYPE with prelude to workaround gtype deadlocks 2017-06-14 14:45:45 -04:00
gtype.c Deprecate g_type_class_add_private() 2018-06-14 11:33:53 +01:00
gtype.h Merge branch 'interface-docs' into 'master' 2019-01-07 14:40:44 +00:00
gtypemodule.c all: Remove trailing newlines from g_message()/g_warning()/g_error()s 2018-04-27 16:46:19 +01:00
gtypemodule.h gtypemodule: Cast *_init functions to void(*)(void) first 2019-01-25 11:29:05 +00:00
gtypeplugin.c gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gtypeplugin.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gvalue.c gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gvalue.h Revert "GValue – Don't cast G_VALUE_TYPE() argument to GValue*" 2018-02-08 14:28:32 +00:00
gvaluearray.c build: Remove the --disable-mem-pools build option and the DISABLE_MEM_POOLS macro 2018-06-02 09:45:55 +02:00
gvaluearray.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gvaluecollector.h gobject: Add prefixes to variables in G_VALUE_COLLECT*() macros 2018-06-20 16:00:48 +01:00
gvaluetransform.c gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gvaluetypes.c g_value_get_variant: return value is transfer-none not transfer-full 2018-11-25 13:05:54 +01:00
gvaluetypes.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
libgobject-gdb.py.in Rename gdb macros with _gdb suffix to avoid ns clashes 2016-05-23 10:52:10 -04:00
meson.build Merge branch 'meson-dep' into 'master' 2018-12-10 22:39:32 +00:00