aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2008-01-08 15:26:50 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2008-01-08 15:26:50 +0000
commitd2509a4bb763699b69645d918f68ea093d24d9e1 (patch)
tree71664f8ce42d160ff05047d33512cfb1884f605b /utils
parent360dff1573f15a8a7f27af3444d1cad52bbdcbb4 (diff)
Make ast_atomic_fetchadd_int_slow magically appear in extconf.
(closes issue #11703) Reported by: dmartin git-svn-id: http://svn.digium.com/svn/asterisk/trunk@97041 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'utils')
-rw-r--r--utils/extconf.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/utils/extconf.c b/utils/extconf.c
index a64258cd9..c5b9fbdea 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);