Make ast_atomic_fetchadd_int_slow magically appear in extconf.
authorJoshua Colp <jcolp@digium.com>
Tue, 8 Jan 2008 15:26:50 +0000 (15:26 +0000)
committerJoshua Colp <jcolp@digium.com>
Tue, 8 Jan 2008 15:26:50 +0000 (15:26 +0000)
(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

index a64258c..c5b9fbd 100644 (file)
@@ -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);