diff options
author | rpj <rpj> | 2005-01-25 05:37:42 +0000 |
---|---|---|
committer | rpj <rpj> | 2005-01-25 05:37:42 +0000 |
commit | e1d015c3dc92a70d787a5686bc7518c6f42fe81f (patch) | |
tree | c4c9db3e27fd40a5ec8bb58735f4af3bac6b9dcf /pthread_mutex_timedlock.c | |
parent | f66968e00f75b86f48293f9aac0b1146feb5b48b (diff) |
Recursive mutex bug fix
Diffstat (limited to 'pthread_mutex_timedlock.c')
-rw-r--r-- | pthread_mutex_timedlock.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/pthread_mutex_timedlock.c b/pthread_mutex_timedlock.c index b1b9d15..db45f45 100644 --- a/pthread_mutex_timedlock.c +++ b/pthread_mutex_timedlock.c @@ -222,9 +222,10 @@ pthread_mutex_timedlock (pthread_mutex_t * mutex, { pthread_t self = pthread_self(); - if ((LONG) PTW32_INTERLOCKED_EXCHANGE( - (LPLONG) &mx->lock_idx, - (LONG) 1) == 0) + if ((PTW32_INTERLOCKED_LONG) PTW32_INTERLOCKED_COMPARE_EXCHANGE( + (PTW32_INTERLOCKED_LPLONG) &mx->lock_idx, + (PTW32_INTERLOCKED_LONG) 1, + (PTW32_INTERLOCKED_LONG) 0) == 0) { mx->recursive_count = 1; mx->ownerThread = self; |