summaryrefslogtreecommitdiff
path: root/include/asterisk/lock.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asterisk/lock.h')
-rw-r--r--include/asterisk/lock.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/asterisk/lock.h b/include/asterisk/lock.h
index 90ff69091..22c7ef1ca 100644
--- a/include/asterisk/lock.h
+++ b/include/asterisk/lock.h
@@ -789,7 +789,11 @@ AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
{
__asm __volatile (
+#ifdef sun
+ " lock; xaddl %0, %1 ; "
+#else
" lock xaddl %0, %1 ; "
+#endif
: "+r" (v), /* 0 (result) */
"=m" (*p) /* 1 */
: "m" (*p)); /* 2 */