]> granicus.if.org Git - gc/commit
Fix checks of thread-local free-lists.
authorPetter Urkedal <paurkedal@gmail.com>
Fri, 20 Apr 2012 08:03:28 +0000 (10:03 +0200)
committerPetter Urkedal <paurkedal@gmail.com>
Fri, 20 Apr 2012 08:03:28 +0000 (10:03 +0200)
commit3ec8d801c187bbcdbb9c1552aafb3ec7b7a95df6
treebbbc4d281f1c2dbb58596dae7967a207132aeb96
parenta4e3286cb208d191544de806adebf6e3d12277ab
Fix checks of thread-local free-lists.

* include/private/gc_priv.h, alloc.c (GC_check_fl_marks): Re-read each
pointer before following the pointed-to link, and bail out if the result is
different.  This can happen if the thread has popped the object off the
free-list.  The prototype is changed to allow re-reading the pointers.
* thread_local_alloc.c (GC_check_tls_for): Adjust the calls accordingly.
alloc.c
include/private/gc_priv.h
thread_local_alloc.c