X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Fgetaddrinfo.c;h=01cb15ba3513d71d2377068731c4d8df8d98fb96;hb=5b4ea0cf66dd82c871ed7d69a5801d78789087b2;hp=b52f6c536cfc188fe096cc9e94eb9228723744a6;hpb=ba9748681316ba56b1b1e4860b2036751dea7ad1;p=pazpar2-moved-to-github.git diff --git a/src/getaddrinfo.c b/src/getaddrinfo.c index b52f6c5..01cb15b 100644 --- a/src/getaddrinfo.c +++ b/src/getaddrinfo.c @@ -1,7 +1,5 @@ -/* $Id: getaddrinfo.c,v 1.8 2007-07-25 13:20:46 adam Exp $ - Copyright (c) 2006-2007, Index Data. - -This file is part of Pazpar2. +/* This file is part of Pazpar2. + Copyright (C) 2006-2009 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 @@ -14,25 +12,36 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with Pazpar2; see the file LICENSE. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. - */ +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ #if HAVE_CONFIG_H -#include "cconfig.h" +#include #endif #include "sel_thread.h" +#if HAVE_UNISTD_H #include +#endif #include -#include + #include #include +#if HAVE_SYS_SOCKET_H #include +#endif +#ifdef WIN32 +#include +#endif +#if HAVE_NETDB_H #include +#endif +#if HAVE_NETINET_IN_H #include +#endif #include #include @@ -124,11 +133,14 @@ static void work_handler(void *vp) if (sec) { yaz_log(log_level, "waiting %d seconds", sec); +#if HAVE_UNISTD_H sleep(sec); +#endif } perform_getaddrinfo(w); } +#ifndef WIN32 void iochan_handler(struct iochan *i, int event) { sel_thread_t p = iochan_getdata(i); @@ -164,6 +176,7 @@ static void getaddrinfo_start(void) yaz_log(log_level, "resolver start"); resolver_thread = p; } +#endif int host_getaddrinfo(struct host *host) { @@ -173,28 +186,30 @@ int host_getaddrinfo(struct host *host) w->hostport = host->hostport; w->ipport = 0; w->host = host; +#ifndef WIN32 if (use_thread) { if (resolver_thread == 0) getaddrinfo_start(); assert(resolver_thread); sel_thread_add(resolver_thread, w); + return 0; } - else - { - perform_getaddrinfo(w); - host->ipport = w->ipport; - xfree(w); - if (!host->ipport) - return -1; - } +#endif + perform_getaddrinfo(w); + host->ipport = w->ipport; + xfree(w); + if (!host->ipport) + return -1; return 0; } /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab */ +