summaryrefslogtreecommitdiff
path: root/mysys/lf_alloc-pin.c
diff options
context:
space:
mode:
authorunknown <monty@narttu.mysql.fi>2008-02-21 02:51:51 +0200
committerunknown <monty@narttu.mysql.fi>2008-02-21 02:51:51 +0200
commit33c24d59f49f783a50b7a7374fb31bbd67e6d462 (patch)
tree5a8d48b69b5cf1c039cbb34fb6fa62583e7a6c22 /mysys/lf_alloc-pin.c
parent2e5a7aadc66bdca8e4b2d1f770403073d13773eb (diff)
parentdf843c4ce26e2c5d152098302b209252c712382e (diff)
downloadmariadb-git-33c24d59f49f783a50b7a7374fb31bbd67e6d462.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-maria
into mysql.com:/home/my/mysql-maria dbug/dbug.c: Auto merged mysys/lf_alloc-pin.c: Auto merged storage/maria/lockman.c: Auto merged storage/maria/ma_open.c: Auto merged storage/maria/ma_recovery.c: Auto merged storage/maria/unittest/ma_test_recovery.pl: Manual merge
Diffstat (limited to 'mysys/lf_alloc-pin.c')
-rw-r--r--mysys/lf_alloc-pin.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/mysys/lf_alloc-pin.c b/mysys/lf_alloc-pin.c
index 054f33482f9..40438e93596 100644
--- a/mysys/lf_alloc-pin.c
+++ b/mysys/lf_alloc-pin.c
@@ -169,7 +169,7 @@ LF_PINS *_lf_pinbox_get_pins(LF_PINBOX *pinbox, void *stack_end)
if (!(pins= top_ver % LF_PINBOX_MAX_PINS))
{
/* the stack of free elements is empty */
- pins= my_atomic_add32(&pinbox->pins_in_array, 1)+1;
+ pins= my_atomic_add32((int32 volatile*) &pinbox->pins_in_array, 1)+1;
if (unlikely(pins >= LF_PINBOX_MAX_PINS))
return 0;
/*
@@ -183,7 +183,8 @@ LF_PINS *_lf_pinbox_get_pins(LF_PINBOX *pinbox, void *stack_end)
}
el= (LF_PINS *)_lf_dynarray_value(&pinbox->pinarray, pins);
next= el->link;
- } while (!my_atomic_cas32(&pinbox->pinstack_top_ver, &top_ver,
+ } while (!my_atomic_cas32((int32 volatile*) &pinbox->pinstack_top_ver,
+ (int32*) &top_ver,
top_ver-pins+next+LF_PINBOX_MAX_PINS));
/*
set el->link to the index of el in the dynarray (el->link has two usages:
@@ -237,7 +238,8 @@ void _lf_pinbox_put_pins(LF_PINS *pins)
do
{
pins->link= top_ver % LF_PINBOX_MAX_PINS;
- } while (!my_atomic_cas32(&pinbox->pinstack_top_ver, &top_ver,
+ } while (!my_atomic_cas32((int32 volatile*) &pinbox->pinstack_top_ver,
+ (int32*) &top_ver,
top_ver-pins->link+nr+LF_PINBOX_MAX_PINS));
return;
}