changeset 85362:b949ffc47cba

Link to libs for calling res_init() if available. (Fmake_network_process): Call res_init() before getaddrinfo or gethostbyname, if possible.
author Chong Yidong <cyd@stupidchicken.com>
date Wed, 17 Oct 2007 15:57:30 +0000
parents 26f0746bead1
children 104186d7ba4b
files src/process.c
diffstat 1 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/process.c	Wed Oct 17 15:57:17 2007 +0000
+++ b/src/process.c	Wed Oct 17 15:57:30 2007 +0000
@@ -121,6 +121,12 @@
 #include <sys/wait.h>
 #endif
 
+#ifdef HAVE_RES_INIT
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+#endif
+
 #include "lisp.h"
 #include "systime.h"
 #include "systty.h"
@@ -3083,6 +3089,11 @@
       hints.ai_family = family;
       hints.ai_socktype = socktype;
       hints.ai_protocol = 0;
+
+#ifdef HAVE_RES_INIT
+      res_init ();
+#endif
+
       ret = getaddrinfo (SDATA (host), portstring, &hints, &res);
       if (ret)
 #ifdef HAVE_GAI_STRERROR
@@ -3128,6 +3139,11 @@
 	 as it may `hang' Emacs for a very long time.  */
       immediate_quit = 1;
       QUIT;
+
+#ifdef HAVE_RES_INIT
+      res_init ();
+#endif
+
       host_info_ptr = gethostbyname (SDATA (host));
       immediate_quit = 0;