From 3f334b78ab4447a37ed40b34c5fdd1aac76d3df7 Mon Sep 17 00:00:00 2001 From: rpj Date: Wed, 29 Jun 2011 05:10:00 +0000 Subject: PTW32_INTERLOCKED_* fixups --- pthread_mutex_lock.c | 70 ++++++++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 35 deletions(-) (limited to 'pthread_mutex_lock.c') diff --git a/pthread_mutex_lock.c b/pthread_mutex_lock.c index 0d4fde8..f6bdcbd 100644 --- a/pthread_mutex_lock.c +++ b/pthread_mutex_lock.c @@ -77,13 +77,13 @@ pthread_mutex_lock (pthread_mutex_t * mutex) /* Non-robust */ if (PTHREAD_MUTEX_NORMAL == kind) { - if ((LONG) PTW32_INTERLOCKED_EXCHANGE( - (LPLONG) &mx->lock_idx, - (LONG) 1) != 0) + if ((PTW32_INTERLOCKED_VALUE) PTW32_INTERLOCKED_EXCHANGE( + (PTW32_INTERLOCKED_PTR) &mx->lock_idx, + (PTW32_INTERLOCKED_VALUE) 1) != 0) { - while ((LONG) PTW32_INTERLOCKED_EXCHANGE( - (LPLONG) &mx->lock_idx, - (LONG) -1) != 0) + while ((PTW32_INTERLOCKED_VALUE) PTW32_INTERLOCKED_EXCHANGE( + (PTW32_INTERLOCKED_PTR) &mx->lock_idx, + (PTW32_INTERLOCKED_VALUE) -1) != 0) { if (WAIT_OBJECT_0 != WaitForSingleObject (mx->event, INFINITE)) { @@ -97,10 +97,10 @@ pthread_mutex_lock (pthread_mutex_t * mutex) { pthread_t self = pthread_self(); - if ((PTW32_INTERLOCKED_LONG) PTW32_INTERLOCKED_COMPARE_EXCHANGE( - (PTW32_INTERLOCKED_LPLONG) &mx->lock_idx, - (PTW32_INTERLOCKED_LONG) 1, - (PTW32_INTERLOCKED_LONG) 0) == 0) + if ((PTW32_INTERLOCKED_VALUE) PTW32_INTERLOCKED_COMPARE_EXCHANGE( + (PTW32_INTERLOCKED_PTR) &mx->lock_idx, + (PTW32_INTERLOCKED_VALUE) 1, + (PTW32_INTERLOCKED_VALUE) 0) == 0) { mx->recursive_count = 1; mx->ownerThread = self; @@ -120,9 +120,9 @@ pthread_mutex_lock (pthread_mutex_t * mutex) } else { - while ((LONG) PTW32_INTERLOCKED_EXCHANGE( - (LPLONG) &mx->lock_idx, - (LONG) -1) != 0) + while ((PTW32_INTERLOCKED_VALUE) PTW32_INTERLOCKED_EXCHANGE( + (PTW32_INTERLOCKED_PTR) &mx->lock_idx, + (PTW32_INTERLOCKED_VALUE) -1) != 0) { if (WAIT_OBJECT_0 != WaitForSingleObject (mx->event, INFINITE)) { @@ -149,9 +149,9 @@ pthread_mutex_lock (pthread_mutex_t * mutex) */ ptw32_robust_state_t* statePtr = &mx->robustNode->stateInconsistent; - if ((LONG)PTW32_ROBUST_NOTRECOVERABLE == PTW32_INTERLOCKED_EXCHANGE_ADD( - (LPLONG)statePtr, - 0L)) + if ((PTW32_INTERLOCKED_VALUE)PTW32_ROBUST_NOTRECOVERABLE == PTW32_INTERLOCKED_EXCHANGE_ADD( + (PTW32_INTERLOCKED_PTR)statePtr, + (PTW32_INTERLOCKED_VALUE)0)) { result = ENOTRECOVERABLE; } @@ -163,24 +163,24 @@ pthread_mutex_lock (pthread_mutex_t * mutex) if (PTHREAD_MUTEX_NORMAL == kind) { - if ((LONG) PTW32_INTERLOCKED_EXCHANGE( - (LPLONG) &mx->lock_idx, - (LONG) 1) != 0) + if ((PTW32_INTERLOCKED_VALUE) PTW32_INTERLOCKED_EXCHANGE( + (PTW32_INTERLOCKED_PTR) &mx->lock_idx, + (PTW32_INTERLOCKED_VALUE) 1) != 0) { while (0 == (result = ptw32_robust_mutex_inherit(mutex)) - && (LONG) PTW32_INTERLOCKED_EXCHANGE( - (LPLONG) &mx->lock_idx, - (LONG) -1) != 0) + && (PTW32_INTERLOCKED_VALUE) PTW32_INTERLOCKED_EXCHANGE( + (PTW32_INTERLOCKED_PTR) &mx->lock_idx, + (PTW32_INTERLOCKED_VALUE) -1) != 0) { if (WAIT_OBJECT_0 != WaitForSingleObject (mx->event, INFINITE)) { result = EINVAL; break; } - if ((LONG)PTW32_ROBUST_NOTRECOVERABLE == + if ((PTW32_INTERLOCKED_VALUE)PTW32_ROBUST_NOTRECOVERABLE == PTW32_INTERLOCKED_EXCHANGE_ADD( - (LPLONG)statePtr, - 0L)) + (PTW32_INTERLOCKED_PTR)statePtr, + (PTW32_INTERLOCKED_VALUE)0)) { /* Unblock the next thread */ SetEvent(mx->event); @@ -200,10 +200,10 @@ pthread_mutex_lock (pthread_mutex_t * mutex) } else { - if ((PTW32_INTERLOCKED_LONG) PTW32_INTERLOCKED_COMPARE_EXCHANGE( - (PTW32_INTERLOCKED_LPLONG) &mx->lock_idx, - (PTW32_INTERLOCKED_LONG) 1, - (PTW32_INTERLOCKED_LONG) 0) == 0) + if ((PTW32_INTERLOCKED_VALUE) PTW32_INTERLOCKED_COMPARE_EXCHANGE( + (PTW32_INTERLOCKED_PTR) &mx->lock_idx, + (PTW32_INTERLOCKED_VALUE) 1, + (PTW32_INTERLOCKED_VALUE) 0) == 0) { mx->recursive_count = 1; /* @@ -228,19 +228,19 @@ pthread_mutex_lock (pthread_mutex_t * mutex) else { while (0 == (result = ptw32_robust_mutex_inherit(mutex)) - && (LONG) PTW32_INTERLOCKED_EXCHANGE( - (LPLONG) &mx->lock_idx, - (LONG) -1) != 0) + && (PTW32_INTERLOCKED_VALUE) PTW32_INTERLOCKED_EXCHANGE( + (PTW32_INTERLOCKED_PTR) &mx->lock_idx, + (PTW32_INTERLOCKED_VALUE) -1) != 0) { if (WAIT_OBJECT_0 != WaitForSingleObject (mx->event, INFINITE)) { result = EINVAL; break; } - if ((LONG)PTW32_ROBUST_NOTRECOVERABLE == + if ((PTW32_INTERLOCKED_VALUE)PTW32_ROBUST_NOTRECOVERABLE == PTW32_INTERLOCKED_EXCHANGE_ADD( - (LPLONG)statePtr, - 0L)) + (PTW32_INTERLOCKED_PTR)statePtr, + (PTW32_INTERLOCKED_VALUE)0)) { /* Unblock the next thread */ SetEvent(mx->event); -- cgit v1.2.3