diff --git a/Import/VlppOS.Linux.cpp b/Import/VlppOS.Linux.cpp index 3c201d97..bd583d3e 100644 --- a/Import/VlppOS.Linux.cpp +++ b/Import/VlppOS.Linux.cpp @@ -1536,7 +1536,14 @@ SpinLock { while(__sync_val_compare_and_swap(&token, 0, 1)!=0) { - while(token!=0) _mm_pause(); + while (token != 0) + { +#ifdef VCZH_ARM + __yield(); +#else + _mm_pause(); +#endif + } } } diff --git a/Import/VlppOS.Windows.cpp b/Import/VlppOS.Windows.cpp index 5bcb304d..b6974b23 100644 --- a/Import/VlppOS.Windows.cpp +++ b/Import/VlppOS.Windows.cpp @@ -1779,7 +1779,14 @@ SpinLock { while(_InterlockedCompareExchange(&token, 1, 0)!=0) { - while(token!=0) _mm_pause(); + while (token != 0) + { +#ifdef VCZH_ARM + __yield(); +#else + _mm_pause(); +#endif + } } }