From 9c0c82d0d01b0a0d17c2f2e494ff3c83bc3bbd3d Mon Sep 17 00:00:00 2001
From: Joshua Colp <jcolp@digium.com>
Date: Tue, 8 Jan 2008 15:26:50 +0000
Subject: [PATCH] Make ast_atomic_fetchadd_int_slow magically appear in
 extconf. (closes issue #11703) Reported by: dmartin

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 utils/extconf.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/utils/extconf.c b/utils/extconf.c
index a64258cd9d..c5b9fbdea4 100644
--- a/utils/extconf.c
+++ b/utils/extconf.c
@@ -1756,8 +1756,6 @@ static void  __attribute__ ((destructor)) fini_##rwlock(void) \
  * as ast_atomic_fetchadd_int_slow()
  */
 
-int ast_atomic_fetchadd_int_slow(volatile int *p, int v);
-
 #if defined(HAVE_OSX_ATOMICS)
 #include "libkern/OSAtomic.h"
 #endif
@@ -1791,7 +1789,14 @@ AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
 	: "m" (*p));                    /* 2 */
 	return (v);
 })
-#else   /* low performance version in utils.c */
+#else
+static int ast_atomic_fetchadd_int_slow(volatile int *p, int v)
+{
+	int ret;
+	ret = *p;
+	*p += v;
+	return ret;
+}
 AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
 {
 	return ast_atomic_fetchadd_int_slow(p, v);
-- 
GitLab