aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-05-31 19:40:23 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-05-31 19:40:23 +0000
commitbc5de50bc93360447d3afb001eca8a43a848d7f3 (patch)
tree90cded5b6ee2efd9bacb9494b12a6cfbcb3f6e56
parentcd8e03c0b7f057941b74c3f34d70fce58c94f1ed (diff)
More BSD compile fixes (bugs #1754 and #1756)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3121 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-xcdr/Makefile5
-rwxr-xr-xchannels/Makefile4
-rwxr-xr-xdns.c5
3 files changed, 14 insertions, 0 deletions
diff --git a/cdr/Makefile b/cdr/Makefile
index d688725f0..6b92e27d9 100755
--- a/cdr/Makefile
+++ b/cdr/Makefile
@@ -17,6 +17,11 @@ MODS=cdr_csv.so
CFLAGS+=-fPIC
+OSARCH=$(shell uname -s)
+ifeq (${OSARCH},FreeBSD)
+SOLINK+=-L/usr/local/lib
+endif
+
#
# unixODBC stuff...
#
diff --git a/channels/Makefile b/channels/Makefile
index 40f5024f2..fd0b796e5 100755
--- a/channels/Makefile
+++ b/channels/Makefile
@@ -49,6 +49,10 @@ endif
ifneq (${OSARCH},Darwin)
CHANNEL_LIBS+=chan_oss.so
endif
+ifeq (${OSARCH},FreeBSD)
+SOLINK+=-L/usr/local/lib
+CHANNEL_LIBS+=chan_oss.so
+endif
CHANNEL_LIBS+=$(shell [ -f /usr/include/linux/ixjuser.h ] && echo chan_phone.so)
CHANNEL_LIBS+=$(shell [ -f h323/libchanh323.a ] && echo chan_h323.so)
diff --git a/dns.c b/dns.c
index 33974aa14..0ec7d6d51 100755
--- a/dns.c
+++ b/dns.c
@@ -154,8 +154,11 @@ static int dns_parse_answer(void *context,
#if defined(res_ninit)
#define HAS_RES_NINIT
#else
+static ast_mutex_t res_lock = AST_MUTEX_INITIALIZER;
+#if 0
#warning "Warning, res_ninit is missing... Could have reentrancy issues"
#endif
+#endif
int ast_search_dns(void *context,
const char *dname, int class, int type,
@@ -171,6 +174,7 @@ int ast_search_dns(void *context,
res_ninit(&dnsstate);
res = res_nsearch(&dnsstate, dname, class, type, answer, sizeof(answer));
#else
+ ast_mutex_lock(&res_lock);
res_init();
res = res_search(dname, class, type, answer, sizeof(answer));
#endif
@@ -192,6 +196,7 @@ int ast_search_dns(void *context,
#ifndef __APPLE__
res_close();
#endif
+ ast_mutex_unlock(&res_lock);
#endif
return ret;
}