Add clever pz:pqf_strftime example from
[pazpar2-moved-to-github.git] / src / getaddrinfo.c
index 865d20a..6a31e61 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of Pazpar2.
-   Copyright (C) 2006-2010 Index Data
+   Copyright (C) 2006-2012 Index Data
 
 Pazpar2 is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
@@ -47,7 +47,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <yaz/nmem.h>
 #include <yaz/tcpip.h>
 
-#include "pazpar2.h"
+#include "session.h"
 #include "connection.h"
 #include "host.h"
 
@@ -79,11 +79,12 @@ void perform_getaddrinfo(struct work *w)
     struct hostent *hp;
 #endif
     char *hostport = xstrdup(w->hostport);
-    
     if ((port = strchr(hostport, ':')))
         *(port++) = '\0';
     else
+    {
         port = "210";
+    }
 
 #if HAVE_GETADDRINFO
     hints.ai_flags = 0;
@@ -98,7 +99,7 @@ void perform_getaddrinfo(struct work *w)
     // returns AF_INET address.
     if ((res = getaddrinfo(hostport, port, &hints, &addrinfo)))
     {
-        yaz_log(YLOG_WARN, "Failed to resolve %s: %s", 
+        yaz_log(YLOG_WARN, "Failed to resolve %s %s", 
                 w->hostport, gai_strerror(res));
     }
     else
@@ -179,7 +180,8 @@ static void getaddrinfo_start(iochan_man_t iochan_man)
     }
     else
     {
-        IOCHAN chan = iochan_create(fd, iochan_handler, EVENT_INPUT);
+        IOCHAN chan = iochan_create(fd, iochan_handler, EVENT_INPUT,
+            "getaddrinfo_socket");
         iochan_setdata(chan, p);
         iochan_add(iochan_man, chan);
     }
@@ -191,9 +193,9 @@ static void getaddrinfo_start(iochan_man_t iochan_man)
 int host_getaddrinfo(struct host *host, iochan_man_t iochan_man)
 {
     struct work *w = xmalloc(sizeof(*w));
-    int use_thread = 1; /* =0 to disable threading entirely */
+    int use_thread = 0; /* =0 to disable threading entirely */
 
-    w->hostport = host->hostport;
+    w->hostport = host->tproxy ? host->tproxy : host->proxy;
     w->ipport = 0;
     w->host = host;
     w->iochan_man = iochan_man;