r184392 - in /trunk/libitm: ChangeLog beginend....
torvald@gcc.gnu.org
torvald@gcc.gnu.org
Mon Feb 20 13:06:00 GMT 2012
Author: torvald
Date: Mon Feb 20 13:06:07 2012
New Revision: 184392
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=184392
Log:
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.
Modified:
trunk/libitm/ChangeLog
trunk/libitm/beginend.cc
trunk/libitm/retry.cc
More information about the Gcc-cvs
mailing list