diff --git a/src/c/src/mt_adaptor.c b/src/c/src/mt_adaptor.c index 7dc7878..9c62991 100644 --- a/src/c/src/mt_adaptor.c +++ b/src/c/src/mt_adaptor.c @@ -483,13 +483,7 @@ int32_t inc_ref_counter(zhandle_t* zh,int i) int32_t fetch_and_add(volatile int32_t* operand, int incr) { #ifndef WIN32 - int32_t result; - asm __volatile__( - "lock xaddl %0,%1\n" - : "=r"(result), "=m"(*(int *)operand) - : "0"(incr) - : "memory"); - return result; + return __sync_fetch_and_add(operand, incr); #else volatile int32_t result; _asm