From 9d4fcbf2c467305ca336cc1adfe7a2f904117a16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Fri, 11 Oct 1996 09:47:30 +0200
Subject: [PATCH] now uses gethostbyname_r

Rev: src/modules/files/file.c:1.8
---
 src/modules/files/file.c | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/src/modules/files/file.c b/src/modules/files/file.c
index 2075d4c850..546bde3a52 100644
--- a/src/modules/files/file.c
+++ b/src/modules/files/file.c
@@ -1170,8 +1170,30 @@ void get_inet_addr(struct sockaddr_in *addr,char *name)
   else
   {
     struct hostent *ret;
-
 #ifdef _REENTRANT
+#ifdef HAVE_SOLARIS_GETHOSTBYNAME_R
+    struct hostent result;
+    char data[2048];
+    int h_errno;
+
+    THREADS_ALLOW();
+    ret=gethostbyname_r(name, &result, data, sizeof(data), &h_errno);
+    THREADS_DISALLOW();
+#else
+#ifdef HAVE_OSF1_GETHOSTBYNAME_R
+    struct hostent result;
+    struct hostent_data data;
+
+    THREADS_ALLOW();
+    MEMSET((char *)&data,0,sizeof(data));
+    if(gethostbyname_r(name, &result, &data) < 0)
+    {
+      ret=&result;
+    }else{
+      ret=0;
+    }
+    THREADS_DISALLOW();
+#else
     static MUTEX_T l;
 
     THREADS_ALLOW();
@@ -1181,6 +1203,8 @@ void get_inet_addr(struct sockaddr_in *addr,char *name)
     mt_unlock(&l);
 
     THREADS_DISALLOW();
+#endif
+#endif
 #else
     ret=gethostbyname(name);
 #endif
-- 
GitLab