From: Date: August 28 2008 2:01am Subject: RE: bzr commit into mysql-6.0-falcon branch (vvaintroub:2805) Bug#39024 List-Archive: http://lists.mysql.com/commits/52791 Message-Id: <007c01c908a1$2c11f120$8435d360$@com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Vlad, very good catch. OK to push. >-----Original Message----- >From: Vladislav Vaintroub [mailto:vvaintroub@stripped] >Sent: Wednesday, August 27, 2008 4:53 PM >To: commits@stripped >Subject: bzr commit into mysql-6.0-falcon branch (vvaintroub:2805) Bug#39024 > >#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(); > } > > >-- >MySQL Code Commits Mailing List >For list archives: http://lists.mysql.com/commits >To unsubscribe: http://lists.mysql.com/commits?unsub=klewis@stripped