Fix 1bit mutex test on platforms with 32 bit aligned pointers

The 1 bit mutex tests asserts: ((gsize) ptrs) % 8, ==, 0), which fails
when the platform only aligns porters to 32 bits (e.g. S390 and
powerpc).

I'm not sure why this assertion was placed here, but given
that internally g_pointer_bit_trylock uses g_atomic_int_or internally
change the assertion so it only requires the alignment to be a multiple
of sizeof(int)
This commit is contained in:
Sjoerd Simons 2011-11-13 17:49:57 +01:00
parent 65eb65b777
commit 469e1a15a0

View File

@ -61,7 +61,7 @@ acquire (int nr,
self = g_thread_self ();
g_assert_cmpint (((gsize) ptrs) % 8, ==, 0);
g_assert_cmpint (((gsize) ptrs) % sizeof(gint), ==, 0);
if (!(use_pointers ?
g_pointer_bit_trylock (&ptrs[nr], bits[nr])