Browse Source

Fix for bug#53541. We need to check whether the slot has been freed or not

before trying to access the transaction instance.

rb://336
pull/374/head
Sunny Bains 16 years ago
parent
commit
f77390bd1a
  1. 10
      storage/innobase/srv/srv0srv.c

10
storage/innobase/srv/srv0srv.c

@ -2322,7 +2322,15 @@ srv_lock_check_wait(
srv_sys_mutex_enter();
slot_trx = thr_get_trx(slot->thr);
/* If the slot has been freed and is not being reused
then the slot->thr entry should be NULL. */
if (slot->thr != NULL) {
ut_a(slot->in_use)
slot_trx = thr_get_trx(slot->thr);
} else {
ut_a(!slot->in_use)
slot_trx = NULL;
}
/* We can't compare the pointers here because the
memory can be recycled. Transaction ids are not

Loading…
Cancel
Save