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