From 63c915c7b96c0d1a8429938b1ce59a3ff191f9ca Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 Jul 2004 17:14:13 +0300 Subject: InnoDB: LOCK TABLES clean-up, part 2 innobase/lock/lock0lock.c: Decrement n_lock_table_exp in lock_table_dequeue(), not elsewhere --- innobase/lock/lock0lock.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'innobase') diff --git a/innobase/lock/lock0lock.c b/innobase/lock/lock0lock.c index 1c82d892d5f..bc03a27c874 100644 --- a/innobase/lock/lock0lock.c +++ b/innobase/lock/lock0lock.c @@ -3508,6 +3508,10 @@ lock_table_dequeue( lock = UT_LIST_GET_NEXT(un_member.tab_lock.locks, in_lock); lock_table_remove_low(in_lock); + + if (lock_get_type(in_lock) == LOCK_TABLE_EXP) { + in_lock->trx->n_lock_table_exp--; + } /* Check if waiting locks in the queue can now be granted: grant locks if there are no conflicting locks ahead. */ @@ -3609,7 +3613,6 @@ lock_release_off_kernel( if (lock_get_type(lock) == LOCK_TABLE_EXP) { ut_a(lock_get_mode(lock) == LOCK_S || lock_get_mode(lock) == LOCK_X); - trx->n_lock_table_exp--; } } @@ -3676,7 +3679,6 @@ lock_release_tables_off_kernel( } lock_table_dequeue(lock); - trx->n_lock_table_exp--; lock = UT_LIST_GET_LAST(trx->trx_locks); continue; -- cgit v1.2.1