Commit da0b6d61 authored by Vasil Dimov's avatar Vasil Dimov

Merge a change from mysql-trunk-innodb:

  ------------------------------------------------------------
  revno: 3127
  revision-id: vasil.dimov@oracle.com-20100531152341-x2d4hma644icamh1
  parent: vasil.dimov@oracle.com-20100531105923-kpjwl4rbgfpfj13c
  committer: Vasil Dimov <vasil.dimov@oracle.com>
  branch nick: mysql-trunk-innodb
  timestamp: Mon 2010-05-31 18:23:41 +0300
  message:
    Fix Bug #53947 InnoDB: Assertion failure in thread 4224 in file .\sync\sync0sync.c line 324
    
    Destroy the rw-lock object before freeing the memory it is occupying.
    If we do not do this, then the mutex that is contained in the rw-lock
    object btr_search_latch_temp->mutex gets "freed" and subsequently
    mutex_free() from sync_close() hits a mutex whose memory has been
    freed and crashes.
    
    Approved by:	Heikki (via IRC)
    Discussed with:	Calvin
parent d02ec346
...@@ -182,6 +182,7 @@ void ...@@ -182,6 +182,7 @@ void
btr_search_sys_free(void) btr_search_sys_free(void)
/*=====================*/ /*=====================*/
{ {
rw_lock_free(&btr_search_latch);
mem_free(btr_search_latch_temp); mem_free(btr_search_latch_temp);
btr_search_latch_temp = NULL; btr_search_latch_temp = NULL;
mem_heap_free(btr_search_sys->hash_index->heap); mem_heap_free(btr_search_sys->hash_index->heap);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment