From 6e72bdd7414dff1db49dd943f440b201038a4576 Mon Sep 17 00:00:00 2001 From: rpj Date: Thu, 30 Jun 2011 02:07:14 +0000 Subject: Fixes for x64 --- pthread_once.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'pthread_once.c') diff --git a/pthread_once.c b/pthread_once.c index ca66dce..e18726c 100644 --- a/pthread_once.c +++ b/pthread_once.c @@ -54,7 +54,9 @@ pthread_once (pthread_once_t * once_control, void (*init_routine) (void)) return EINVAL; } - if (!PTW32_INTERLOCKED_EXCHANGE_ADD((LPLONG)&once_control->done, (size_t)0)) /* MBR fence */ + if ((PTW32_INTERLOCKED_VALUE)0 == + (PTW32_INTERLOCKED_VALUE)PTW32_INTERLOCKED_EXCHANGE_ADD((PTW32_INTERLOCKED_PTR)&once_control->done, + (PTW32_INTERLOCKED_VALUE)0)) /* MBR fence */ { ptw32_mcs_local_node_t node; -- cgit v1.2.3