glib/glib
Tim Janik d5c4370813 prevent race covered by g_once_init_enter(), by checking for previous
Tue Aug 14 02:06:10 2007  Tim Janik  <timj@imendio.com>

        * glib/gthread.c (g_once_init_enter_impl): prevent race covered
        by g_once_init_enter(), by checking for previous initializations
        before entering initialisation branch.

        * tests/onceinit.c: added multi-thread/multi-initializer stress test
        using unoptimized g_once_init_enter_impl().



svn path=/trunk/; revision=5701
2007-08-14 00:05:52 +00:00
..
glib-mirroring-tab removed all .cvsignore files. SVN doesn't need them. 2007-01-03 11:22:36 +00:00
gnulib define PCRE_STATIC to reflect the inclusion of pcre as LIB, not 2007-03-17 09:49:09 +00:00
libcharset Some file list updates (#398069, Owen Taylor) 2007-01-19 15:50:30 +00:00
pcre Update so it applies again. 2007-08-01 09:57:17 +00:00
update-pcre Update so it applies again. 2007-08-01 09:57:17 +00:00
abicheck.sh Make it work regardless of --enable-debug 2007-08-08 22:06:47 +00:00
galloca.h config.h.win32.in glib/galloca.h glib/gbacktrace.h glib/gwin32.c 2007-01-18 19:05:21 +00:00
garray.c honour g_mem_gc_friendly settings when freeing slices, make sure 2006-01-25 15:51:43 +00:00
garray.h New function to call a function for each element of a GPtrArray. (#114790) 2003-12-26 01:04:12 +00:00
gasyncqueue.c Make sure g_thread_pool_stop_unused_threads() actually stops unused 2006-04-07 09:23:42 +00:00
gasyncqueue.h Make sure g_thread_pool_stop_unused_threads() actually stops unused 2006-04-07 09:23:42 +00:00
gatomic.c Don't use local numeric labels in inline assembler on AIX. (#316434, Hans 2006-12-11 14:25:07 +00:00
gatomic.h added g_atomic_pointer_set() and g_atomic_int_set() for systems where the 2005-12-13 09:15:52 +00:00
gbacktrace.c Assume string.h is available 2006-09-10 05:50:50 +00:00
gbacktrace.h config.h.win32.in glib/galloca.h glib/gbacktrace.h glib/gwin32.c 2007-01-18 19:05:21 +00:00
gbase64.c Warn if the input is too short. (#418862, Halton Huo) 2007-03-16 19:50:14 +00:00
gbase64.h Add base64 docs 2006-04-05 03:19:30 +00:00
gbookmarkfile.c Include the gshell.h header file (to define g_shell_[un]quote) and correct 2007-04-30 11:30:47 +00:00
gbookmarkfile.h Return a boolean instead of void. 2006-06-12 17:19:13 +00:00
gbsearcharray.h inserted casts for C++. 2003-09-07 22:36:58 +00:00
gcache.c prepared deprecation of GMemChunk and GAllocator. added g_slice_*() API to 2005-11-01 18:10:31 +00:00
gcache.h Deprecate g_cache_value_foreach. (#322956, Nicolas Caniart) 2005-12-03 06:53:31 +00:00
gcompletion.c Make passing NULL for new_prefix work as documented. (#338845, Yevgen 2006-04-18 02:21:43 +00:00
gcompletion.h Add prototype for g_completion_complete_utf8(). 2004-02-05 01:58:47 +00:00
gconvert.c Define G_GNUC_INTERNAL for Sun Studio as __hidden. (#342981, Brian 2007-01-27 03:34:48 +00:00
gconvert.h Consistently use gsize rather than size_t. (#333310, Morten Welinder) 2006-12-28 04:48:06 +00:00
gdataset.c Accept NULL and return GQuark value of zero. (#446859) 2007-06-17 07:43:34 +00:00
gdataset.h Add g_object_add/remove_toggle_ref() functions to get notification when a 2005-05-05 14:57:29 +00:00
gdatasetprivate.h carry out all dtalist pointer accesses atomically, some missing cases 2006-01-31 15:46:34 +00:00
gdate.c New Win32-only function. Use the wide character Win32 API to do the work 2007-02-17 08:51:12 +00:00
gdate.h Remove old comment and forward declaration of struct tm: gdate.h includes 2007-03-27 15:16:18 +00:00
gdebug.h Move the compiler-dependency in the G_GNUC_INTERNAL definition from 2007-05-17 16:36:53 +00:00
gdir.c Remove support for Windows 9x/ME, as will be done also in Pango and GTK+. 2006-08-29 22:45:00 +00:00
gdir.h Introduce the idea of a filename encoding, which is *literally* the 2004-10-27 16:46:29 +00:00
gen-script-table.pl Add Unicode script support 2006-10-09 04:23:58 +00:00
gen-unicode-tables.pl Apply a patch from Behdad Esfahbod to use a faster lookup table for 2005-11-04 22:27:04 +00:00
gerror.c Allocate GErrors using the slice allocator. (#354054, Matt Barnes) 2006-09-03 06:03:39 +00:00
gerror.h Move glib library into a subdirectory, make all GLib include files include 2001-06-26 16:01:21 +00:00
gfileutils.c save errno to prevent it being clobbered by call to 2007-07-09 05:32:15 +00:00
gfileutils.h Add some language-binding friendly variants 2005-06-23 05:50:53 +00:00
ghash.c g_hash_table_find(), g_hash_table_foreach(): document performance caveats 2007-06-25 14:44:41 +00:00
ghash.h Add g_hash_table_get_keys() and g_hash_table_get_values(), API to retrieve 2007-04-11 13:09:38 +00:00
ghook.c prepared deprecation of GMemChunk and GAllocator. added g_slice_*() API to 2005-11-01 18:10:31 +00:00
ghook.h prepared deprecation of GMemChunk and GAllocator. added g_slice_*() API to 2005-11-01 18:10:31 +00:00
gi18n-lib.h Remove the ENABLE_NLS check here as well. 2004-07-12 04:03:50 +00:00
gi18n.h Remove the ENABLE_NLS check, since GLib can't be built without anyway. 2004-07-08 04:54:45 +00:00
giochannel.c Remove redundant NULL checks 2007-01-15 03:49:43 +00:00
giochannel.h Make ref_count a gint to avoid compiler warnings. (#321977, Andrew 2006-12-16 04:05:32 +00:00
giounix.c Make PLT-reduction work with gcc4, and don't include everything in 2005-03-14 04:26:57 +00:00
giowin32.c When WSAEnumNetworkEvents() signals FD_CONNECT that means that the 2007-07-06 01:22:53 +00:00
gkeyfile.c Don't assume the string is valid UTF-8, since it may be user data. 2007-06-05 19:14:46 +00:00
gkeyfile.h add defines for desktop file handling. #339225, original patch from 2007-05-30 14:25:34 +00:00
glib-object.h Include gtypes.h not gobject/gtype.h 2001-11-18 00:38:48 +00:00
glib.h Add GRegex for regular expression matching. (#50075) 2007-03-15 13:01:31 +00:00
glib.rc.in Don't use autoconf variables for the resource object files on Win32 any 2005-07-08 23:04:06 +00:00
glib.symbols forgotten file 2007-08-09 13:45:54 +00:00
glibintl.h 1.3.14 2002-02-17 23:28:43 +00:00
glist.c use standard_calloc to allocate the profile_data. (#335209, Chris Wilson) 2006-03-20 18:43:32 +00:00
glist.h Use G_GNUC_WARN_UNUSED_RESULT on list functions that return the whole 2005-12-09 13:58:57 +00:00
gmacros.h added G_GNUC_MAY_ALIAS, suggested by Mathias Hasselmann in bug #335341, 2006-11-22 15:54:58 +00:00
gmain.c Coding style cleanups 2007-07-22 00:34:21 +00:00
gmain.h Add full variant to the approximate timeout functiont 2007-06-18 16:55:50 +00:00
gmappedfile.c Make mapping of empty files work. (#321530) 2005-12-03 06:44:02 +00:00
gmappedfile.h Add an mmap() wrapper called GMappedFile. (#148218, David Schleef, Behdad 2005-06-25 03:38:32 +00:00
gmarkup.c Handle restricted characters by converting them to numeric character 2007-08-09 02:06:04 +00:00
gmarkup.h Add a GMarkupParseFlags flag for treating CDATA as text. 2006-05-29 00:08:30 +00:00
gmem.c Make some structs which are used only once non-static. 2007-01-26 20:59:54 +00:00
gmem.h honour g_mem_gc_friendly settings when freeing slices, make sure 2006-01-25 15:51:43 +00:00
gmessages.c Make some structs which are used only once non-static. 2007-01-26 20:59:54 +00:00
gmessages.h Move the compiler-dependency in the G_GNUC_INTERNAL definition from 2007-05-17 16:36:53 +00:00
gmirroringtable.h Updated to Unicode Character Database 5.0.0. 2006-07-21 22:23:51 +00:00
gnode.c Silence compiler warnings. 2005-11-28 18:31:03 +00:00
gnode.h prepared deprecation of GMemChunk and GAllocator. added g_slice_*() API to 2005-11-01 18:10:31 +00:00
goption.c don't replace the usage line with the description for optional parameters, 2007-06-05 08:44:20 +00:00
goption.h New function to get the formatted help string. (#336089, Dom Lachowicz) 2007-04-25 03:53:30 +00:00
gpattern.c applied significant recursion complexity optimization, based on a patch 2005-09-20 11:20:23 +00:00
gpattern.h make struct _GPatternSpec and GMatchType private. (g_pattern_equal): new 2001-10-13 05:54:10 +00:00
gprimes.c Make PLT-reduction work with gcc4, and don't include everything in 2005-03-14 04:26:57 +00:00
gprimes.h Move glib library into a subdirectory, make all GLib include files include 2001-06-26 16:01:21 +00:00
gprintf.c Clarify the documentation + regarding overflows (wording by Jan Schmidt) 2007-01-24 16:23:23 +00:00
gprintf.h Remove g_snprintf() and g_vsnprintf(), since they are already declared in 2005-09-26 14:33:00 +00:00
gprintfint.h Fix #147651, reported by Oliver Guntermann: 2004-07-21 17:51:28 +00:00
gqsort.c Make PLT-reduction work with gcc4, and don't include everything in 2005-03-14 04:26:57 +00:00
gqsort.h Use gchar, gint, gsize instead of char, int, size_t in the interface for 2003-07-29 18:59:23 +00:00
gquark.h Add functions to intern strings. 2005-08-31 14:25:45 +00:00
gqueue.c Add G_QUEUE_INIT, g_queue_init(), and g_queue_clear() to better support 2007-03-06 18:43:10 +00:00
gqueue.h Add G_QUEUE_INIT, g_queue_init(), and g_queue_clear() to better support 2007-03-06 18:43:10 +00:00
grand.c Renamed to glib/gthreadprivate.h and moved system thread identifier 2006-05-10 00:44:50 +00:00
grand.h Add the init_by_array functionality from the reference implementation of 2004-01-10 01:38:55 +00:00
gregex.c Revert the J handling change 2007-08-04 00:38:12 +00:00
gregex.h New functions: g_regex_ref(), g_regex_unref() which replaces 2007-06-03 05:48:17 +00:00
grel.c Fix several cases of deref-before-NULL-check. (#341191, Pascal Terjan) 2006-05-13 04:36:45 +00:00
grel.h Trivial s/foo/foo_/ fixes to make <glib.h> includable with -Wshadow 2002-11-08 18:47:56 +00:00
gscanner.c reverted premature commit which broke GScanner ABI and API, #415323. 2007-03-16 10:28:13 +00:00
gscanner.h reverted premature commit which broke GScanner ABI and API, #415323. 2007-03-16 10:28:13 +00:00
gscripttable.h Add Unicode script support 2006-10-09 04:23:58 +00:00
gsequence.c Don't export the consistency check function 2007-03-17 04:25:40 +00:00
gsequence.h Don't export the consistency check function 2007-03-17 04:25:40 +00:00
gshell.c Fix PLT issues 2006-09-30 14:06:45 +00:00
gshell.h Move glib library into a subdirectory, make all GLib include files include 2001-06-26 16:01:21 +00:00
gslice.c Revert my earlier change, see #440544. 2007-08-06 15:40:48 +00:00
gslice.h glib/gslice.[ch] added g_slice_copy() and g_slice_dup() (#442029). 2007-06-13 18:56:51 +00:00
gslist.c use standard_calloc to allocate the profile_data. (#335209, Chris Wilson) 2006-03-20 18:43:32 +00:00
gslist.h Use G_GNUC_WARN_UNUSED_RESULT on list functions that return the whole 2005-12-09 13:58:57 +00:00
gspawn-win32-helper.c Remove support for Windows 9x/ME, as will be done also in Pango and GTK+. 2006-08-29 22:45:00 +00:00
gspawn-win32.c Drop the pipe() macro. Defining macros outside of its namespace that look 2007-05-13 20:46:59 +00:00
gspawn.c Fix a doc typo. (#427285, Jochen Baier) 2007-04-11 13:54:45 +00:00
gspawn.h Make also the g_spawn*() functions take parameters in the GLib file name 2005-08-25 23:28:24 +00:00
gstdio.c Document that the mode argument is ignored on Windows (g_stat): Document 2007-04-26 23:24:06 +00:00
gstdio.h glib/glib.symbols don't macroized g_access, g_chdir, and g_unlink either, 2006-01-05 06:21:49 +00:00
gstrfuncs.c small cleanup 2007-04-27 22:37:49 +00:00
gstrfuncs.h g_ascii_strtoll 2006-05-16 05:49:46 +00:00
gstring.c Documentation cleanups 2007-07-22 04:14:54 +00:00
gstring.h Improve performance by removing the use of an intermediate g_malloc'd 2007-06-15 12:43:54 +00:00
gthread.c prevent race covered by g_once_init_enter(), by checking for previous 2007-08-14 00:05:52 +00:00
gthread.h prevent race covered by g_once_init_enter(), by checking for previous 2007-08-14 00:05:52 +00:00
gthreadpool.c Don't use "wait" as parameter name. (#379207, Christian Biere) 2006-12-17 20:27:02 +00:00
gthreadpool.h Don't use "wait" as parameter name. (#379207, Christian Biere) 2006-12-17 20:27:02 +00:00
gthreadprivate.h Move the compiler-dependency in the G_GNUC_INTERNAL definition from 2007-05-17 16:36:53 +00:00
gtimer.c Revert an accidental ABI break by moving gettime out of the 2007-01-16 21:25:03 +00:00
gtimer.h Check for timegm. 2006-03-23 02:54:29 +00:00
gtree.c honour g_mem_gc_friendly settings when freeing slices, make sure 2006-01-25 15:51:43 +00:00
gtree.h Check the return values of g_tree_remove(). 2005-05-17 15:33:36 +00:00
gtypes.h Add -I$(top_srcdir)/glib so that gregex.h finds <glib.h>. 2007-03-15 15:17:17 +00:00
gunibreak.c Make PLT-reduction work with gcc4, and don't include everything in 2005-03-14 04:26:57 +00:00
gunibreak.h Update to final Unicode Character Database 5.0.0. (#336281) 2006-07-19 22:35:17 +00:00
gunichartables.h Update to final Unicode Character Database 5.0.0. (#336281) 2006-07-19 22:35:17 +00:00
gunicode.h Forgotten file 2007-07-20 16:38:50 +00:00
gunicodeprivate.h Make g_unichar_combining_class() public. (#453998) 2007-07-19 13:46:05 +00:00
gunicollate.c Consistently use gsize rather than size_t. (#333310, Morten Welinder) 2006-12-28 04:48:06 +00:00
gunicomp.h Update to final Unicode Character Database 5.0.0. (#336281) 2006-07-19 22:35:17 +00:00
gunidecomp.c Documentation cleanups 2007-07-22 04:14:54 +00:00
gunidecomp.h Update to final Unicode Character Database 5.0.0. (#336281) 2006-07-19 22:35:17 +00:00
guniprop.c Make g_unichar_combining_class() public. (#453998) 2007-07-19 13:46:05 +00:00
gutf8.c Add not to g_utf8_get_char_validated() about nul-terminated strings. 2007-06-05 17:52:04 +00:00
gutils.c Drop leftover use of a union. 2007-08-01 09:49:02 +00:00
gutils.h Add support for a number of special directories, as defined by the 2007-06-04 14:54:49 +00:00
gwin32.c Update doc comments. Mention that it is not recommeded to use the Registry 2007-06-11 07:59:33 +00:00
gwin32.h Drop the pipe() macro. Defining macros outside of its namespace that look 2007-05-13 20:46:59 +00:00
Makefile.am Make it work regardless of --enable-debug 2007-08-08 22:06:47 +00:00
makefile.msc.in define PCRE_STATIC to reflect the inclusion of pcre as LIB, not 2007-03-17 09:49:09 +00:00
makegalias.pl Still need to include glibconfig.h 2005-03-14 04:30:25 +00:00
pltcheck.sh Fix some glitches 2007-07-31 17:14:12 +00:00