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