summaryrefslogtreecommitdiff
path: root/innobase/lock
diff options
context:
space:
mode:
authorunknown <joerg@mysql.com>2004-10-07 12:02:22 +0200
committerunknown <joerg@mysql.com>2004-10-07 12:02:22 +0200
commit3743df6e8e07e4fb2972b40f8ae3f3231d444d51 (patch)
tree59edee8126501bab3f2e0a78641777b0f0630b47 /innobase/lock
parent0129f32bfcec1e0e283699d4dee7429d33906a79 (diff)
downloadmariadb-git-3743df6e8e07e4fb2972b40f8ae3f3231d444d51.tar.gz
Correct an 'unresolved identifier' problem caused by an "inline"
function being used before it was defined - "forward" declaration was insufficient. innobase/lock/lock0lock.c: Compile problem on 'build', solved by moving the definition of 'lock_rec_get_nth_bit' to the place of the ("forward") declaration. It is "inline", and now the body really appears before the first use.
Diffstat (limited to 'innobase/lock')
-rw-r--r--innobase/lock/lock0lock.c54
1 files changed, 23 insertions, 31 deletions
diff --git a/innobase/lock/lock0lock.c b/innobase/lock/lock0lock.c
index e6d478070b0..68073647248 100644
--- a/innobase/lock/lock0lock.c
+++ b/innobase/lock/lock0lock.c
@@ -373,7 +373,29 @@ lock_rec_get_nth_bit(
/*=================*/
/* out: TRUE if bit set */
lock_t* lock, /* in: record lock */
- ulint i); /* in: index of the bit */
+ ulint i) /* in: index of the bit */
+{
+ ulint byte_index;
+ ulint bit_index;
+ ulint b;
+
+ ut_ad(lock);
+ ut_ad(lock_get_type(lock) == LOCK_REC);
+
+ if (i >= lock->un_member.rec_lock.n_bits) {
+
+ return(FALSE);
+ }
+
+ byte_index = i / 8;
+ bit_index = i % 8;
+
+ b = (ulint)*((byte*)lock + sizeof(lock_t) + byte_index);
+
+ return(ut_bit_get_nth(b, bit_index));
+}
+
+/*************************************************************************/
#define lock_mutex_enter_kernel() mutex_enter(&kernel_mutex)
#define lock_mutex_exit_kernel() mutex_exit(&kernel_mutex)
@@ -883,36 +905,6 @@ lock_rec_get_n_bits(
return(lock->un_member.rec_lock.n_bits);
}
-/*************************************************************************
-Gets the nth bit of a record lock. */
-UNIV_INLINE
-ibool
-lock_rec_get_nth_bit(
-/*=================*/
- /* out: TRUE if bit set */
- lock_t* lock, /* in: record lock */
- ulint i) /* in: index of the bit */
-{
- ulint byte_index;
- ulint bit_index;
- ulint b;
-
- ut_ad(lock);
- ut_ad(lock_get_type(lock) == LOCK_REC);
-
- if (i >= lock->un_member.rec_lock.n_bits) {
-
- return(FALSE);
- }
-
- byte_index = i / 8;
- bit_index = i % 8;
-
- b = (ulint)*((byte*)lock + sizeof(lock_t) + byte_index);
-
- return(ut_bit_get_nth(b, bit_index));
-}
-
/**************************************************************************
Sets the nth bit of a record lock to TRUE. */
UNIV_INLINE