From 88101146f2ec7d53ffb793e365f05097ffd35fd3 Mon Sep 17 00:00:00 2001 From: marha Date: Mon, 18 Jul 2011 10:33:05 +0200 Subject: cvs version of pthreads --- pthreads/ptw32_spinlock_check_need_init.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'pthreads/ptw32_spinlock_check_need_init.c') diff --git a/pthreads/ptw32_spinlock_check_need_init.c b/pthreads/ptw32_spinlock_check_need_init.c index bf45bc397..8808454ee 100644 --- a/pthreads/ptw32_spinlock_check_need_init.c +++ b/pthreads/ptw32_spinlock_check_need_init.c @@ -42,16 +42,13 @@ INLINE int ptw32_spinlock_check_need_init (pthread_spinlock_t * lock) { int result = 0; + ptw32_mcs_local_node_t node; /* * The following guarded test is specifically for statically * initialised spinlocks (via PTHREAD_SPINLOCK_INITIALIZER). - * - * Note that by not providing this synchronisation we risk - * introducing race conditions into applications which are - * correctly written. */ - EnterCriticalSection (&ptw32_spinlock_test_init_lock); + ptw32_mcs_lock_acquire(&ptw32_spinlock_test_init_lock, &node); /* * We got here possibly under race @@ -75,7 +72,7 @@ ptw32_spinlock_check_need_init (pthread_spinlock_t * lock) result = EINVAL; } - LeaveCriticalSection (&ptw32_spinlock_test_init_lock); + ptw32_mcs_lock_release(&node); return (result); } -- cgit v1.2.3