List:Commits« Previous MessageNext Message »
From:Vladislav Vaintroub Date:August 27 2008 9:53pm
Subject:bzr commit into mysql-6.0-falcon branch (vvaintroub:2805) Bug#39024
View as plain text  
#At file:///C:/bzr/mysql-6.0-falcon-team/

 2805 Vladislav Vaintroub	2008-08-27
      Bug#39024 Crash in DeferredIndex::detachTransaction 
      
      DeferredIndex::syncObject is accessed even after 
      "this" object is destroyed in releaseRef().
      
      I put a block at the start of function and before releaseRef()
      to force the destructor of sync before  the object itself 
      is destroyed.
modified:
  storage/falcon/DeferredIndex.cpp

=== modified file 'storage/falcon/DeferredIndex.cpp'
--- a/storage/falcon/DeferredIndex.cpp	2008-07-25 18:07:24 +0000
+++ b/storage/falcon/DeferredIndex.cpp	2008-08-27 21:52:50 +0000
@@ -825,6 +825,7 @@ void DeferredIndex::detachIndex(void)
 
 void DeferredIndex::detachTransaction(void)
 {
+	{
 	Sync sync(&syncObject, "DeferredIndex::detachTransaction");
 	sync.lock(Exclusive);
 	transaction = NULL;
@@ -839,6 +840,7 @@ void DeferredIndex::detachTransaction(vo
 		}
 	else
 		sync.unlock();
+	}
 
 	releaseRef();
 }

Thread
bzr commit into mysql-6.0-falcon branch (vvaintroub:2805) Bug#39024Vladislav Vaintroub27 Aug
  • RE: bzr commit into mysql-6.0-falcon branch (vvaintroub:2805) Bug#39024Kevin Lewis28 Aug