X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=jbsockets.c;h=1d43ebaea38d2ee5d985702c0e2cfd8b7e585901;hp=0b7d8df18c8ef22a55ce2de73c4613c127c4cb76;hb=40cb7c21bb922a5a9c56a652e4ff357bc187a4f9;hpb=10ac37096f04f01d06838fe5b2ce5a23d085f1df diff --git a/jbsockets.c b/jbsockets.c index 0b7d8df1..1d43ebae 100644 --- a/jbsockets.c +++ b/jbsockets.c @@ -1,4 +1,4 @@ -const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.39 2006/08/03 02:46:41 david__schmidt Exp $"; +const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.40 2006/09/02 15:36:42 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/jbsockets.c,v $ @@ -35,6 +35,10 @@ const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.39 2006/08/03 02:46:41 david_ * * Revisions : * $Log: jbsockets.c,v $ + * Revision 1.40 2006/09/02 15:36:42 fabiankeil + * Follow the OpenBSD port's lead and protect the resolve + * functions on OpenBSD as well. + * * Revision 1.39 2006/08/03 02:46:41 david__schmidt * Incorporate Fabian Keil's patch work: http://www.fabiankeil.de/sourcecode/privoxy/ * @@ -263,10 +267,10 @@ const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.39 2006/08/03 02:46:41 david_ #include "project.h" -#if defined(OSX_DARWIN) || defined(__OpenBSD__) +#ifdef FEATURE_PTHREAD #include "jcc.h" /* jcc.h is for mutex semaphores only */ -#endif /* defined(OSX_DARWIN) || defined(__OpenBSD__) */ +#endif /* def FEATURE_PTHREAD */ #include "jbsockets.h" #include "filters.h" @@ -748,7 +752,7 @@ int accept_connection(struct client_state * csp, jb_socket fd) { host = NULL; } -#elif defined(OSX_DARWIN) || defined(__OpenBSD__) +#elif FEATURE_PTHREAD pthread_mutex_lock(&gethostbyaddr_mutex); host = gethostbyaddr((const char *)&server.sin_addr, sizeof(server.sin_addr), AF_INET); @@ -833,7 +837,7 @@ unsigned long resolve_hostname_to_ip(const char *host) { hostp = NULL; } -#elif defined(OSX_DARWIN) || defined(__OpenBSD__) +#elif FEATURE_PTHREAD pthread_mutex_lock(&gethostbyname_mutex); while ( NULL == (hostp = gethostbyname(host)) && (h_errno == TRY_AGAIN) && (dns_retries++ < 10) )