diff options
Diffstat (limited to 'libitm/beginend.cc')
-rw-r--r-- | libitm/beginend.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libitm/beginend.cc b/libitm/beginend.cc index 17f9d7490d8..797548192eb 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; |