From b1bfbd3389ca70edb851a42dffa5c7af849b185c Mon Sep 17 00:00:00 2001 From: Art Yerkes Date: Tue, 8 Mar 2005 23:07:10 +0000 Subject: [PATCH] Last fix due to w3seek. I will stop working on this stuff until I have time to be thorough. svn path=/trunk/; revision=13893 --- reactos/lib/rosrtl/misc/intrlck.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reactos/lib/rosrtl/misc/intrlck.c b/reactos/lib/rosrtl/misc/intrlck.c index a5009a3721a..4d01c1100e9 100644 --- a/reactos/lib/rosrtl/misc/intrlck.c +++ b/reactos/lib/rosrtl/misc/intrlck.c @@ -136,8 +136,9 @@ InterlockedExchange(LPLONG target, LONG value ) "lock\n\txchgl %0,(%1)" :"=r" (ret):"r" (target), "0" (value):"memory" ); #elif defined(_M_PPC) - ret = *(volatile LONG *)target; - while( InterlockedCompareExchange( target, value, ret ) != ret ); + do { + ret = *(volatile LONG *)target; + } while( InterlockedCompareExchange( target, value, ret ) != ret ); #endif return ret; }