Piotr Caban : msvcr100: Use InterlockedDecrement in SpinWait::_SpinOnce.
Alexandre Julliard
julliard at winehq.org
Tue Feb 28 15:27:03 CST 2017
Module: wine
Branch: master
Commit: a6bfecd4019ec9869d51d296c48e9250ebbed3e6
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a6bfecd4019ec9869d51d296c48e9250ebbed3e6
Author: Piotr Caban <piotr at codeweavers.com>
Date: Tue Feb 28 11:21:34 2017 +0100
msvcr100: Use InterlockedDecrement in SpinWait::_SpinOnce.
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/msvcrt/lock.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/dlls/msvcrt/lock.c b/dlls/msvcrt/lock.c
index 3153ae1..f4c44170 100644
--- a/dlls/msvcrt/lock.c
+++ b/dlls/msvcrt/lock.c
@@ -265,13 +265,7 @@ MSVCRT_bool __thiscall SpinWait__SpinOnce(SpinWait *this)
SpinWait__Reset(this);
/* fall through */
case SPINWAIT_SPIN:
-#ifdef __i386__
- __asm__ __volatile__( "rep;nop" : : : "memory" );
-#else
- __asm__ __volatile__( "" : : : "memory" );
-#endif
-
- this->spin--;
+ InterlockedDecrement((LONG*)&this->spin);
if(!this->spin)
this->state = this->unknown ? SPINWAIT_YIELD : SPINWAIT_DONE;
return TRUE;
More information about the wine-cvs
mailing list