aboutsummaryrefslogtreecommitdiff
path: root/libitm/ChangeLog
diff options
context:
space:
mode:
authorTorvald Riegel <triegel@redhat.com>2012-02-20 13:06:07 +0000
committerTorvald Riegel <torvald@gcc.gnu.org>2012-02-20 13:06:07 +0000
commita19db3f2e39d927e1595bbb6b9f4470c57161c7d (patch)
treeab52139ec839cdce4a63ce4b77072d1d850159b8 /libitm/ChangeLog
parent5a226e0af1d34600e38f02e3e84485db3f96b56c (diff)
downloadgcc-a19db3f2e39d927e1595bbb6b9f4470c57161c7d.zip
gcc-a19db3f2e39d927e1595bbb6b9f4470c57161c7d.tar.gz
gcc-a19db3f2e39d927e1595bbb6b9f4470c57161c7d.tar.bz2
libitm: Fix race condition in dispatch choice at transaction begin.
libitm/ * beginend.cc (GTM::gtm_thread::begin_transaction): Move serial lock acquisition to ... * retry.cc (GTM::gtm_thread::decide_begin_dispatch): ... here. (default_dispatch): Make atomic. (GTM::gtm_thread::set_default_dispatch): Access atomically. (GTM::gtm_thread::decide_retry_strategy): Access atomically and use decide_begin_dispatch() if default_dispatch might have changed. (GTM::gtm_thread::number_of_threads_changed): Initialize default_dispatch here. From-SVN: r184392
Diffstat (limited to 'libitm/ChangeLog')
-rw-r--r--libitm/ChangeLog12
1 files changed, 12 insertions, 0 deletions
diff --git a/libitm/ChangeLog b/libitm/ChangeLog
index e103ca0..e0d94a1 100644
--- a/libitm/ChangeLog
+++ b/libitm/ChangeLog
@@ -1,3 +1,15 @@
+2012-02-20 Torvald Riegel <triegel@redhat.com>
+
+ * beginend.cc (GTM::gtm_thread::begin_transaction): Move serial lock
+ acquisition to ...
+ * retry.cc (GTM::gtm_thread::decide_begin_dispatch): ... here.
+ (default_dispatch): Make atomic.
+ (GTM::gtm_thread::set_default_dispatch): Access atomically.
+ (GTM::gtm_thread::decide_retry_strategy): Access atomically and
+ use decide_begin_dispatch() if default_dispatch might have changed.
+ (GTM::gtm_thread::number_of_threads_changed): Initialize
+ default_dispatch here.
+
2012-02-15 Iain Sandoe <iains@gcc.gnu.org>
Patrick Marlier <patrick.marlier@gmail.com>