aboutsummaryrefslogtreecommitdiff
path: root/libitm/beginend.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libitm/beginend.cc')
-rw-r--r--libitm/beginend.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/libitm/beginend.cc b/libitm/beginend.cc
index 17f9d74..7975481 100644
--- a/libitm/beginend.cc
+++ b/libitm/beginend.cc
@@ -457,7 +457,12 @@ GTM::gtm_thread::trycommit ()
// The transaction is now inactive. Everything that we still have to do
// will not synchronize with other transactions anymore.
if (state & gtm_thread::STATE_SERIAL)
- gtm_thread::serial_lock.write_unlock ();
+ {
+ gtm_thread::serial_lock.write_unlock ();
+ // There are no other active transactions, so there's no need to
+ // enforce privatization safety.
+ priv_time = 0;
+ }
else
gtm_thread::serial_lock.read_unlock (this);
state = 0;