diff options
author | rpj <rpj> | 2011-06-30 02:07:14 +0000 |
---|---|---|
committer | rpj <rpj> | 2011-06-30 02:07:14 +0000 |
commit | 6e72bdd7414dff1db49dd943f440b201038a4576 (patch) | |
tree | 26cdde3533ef9b6114d099cc4da2af212b285c5c /pthread_once.c | |
parent | 5fdebbca2831af55fcd17d1819ec68dc17e2ec58 (diff) |
Fixes for x64
Diffstat (limited to 'pthread_once.c')
-rw-r--r-- | pthread_once.c | 4 |
1 files changed, 3 insertions, 1 deletions
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; |