-const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.56 2009/05/16 13:27:20 fabiankeil Exp $";
+const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.59 2009/05/25 15:43:34 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/jbsockets.c,v $
#include "project.h"
-#ifdef FEATURE_PTHREAD
+/* For mutex semaphores only */
#include "jcc.h"
-/* jcc.h is for mutex semaphores only */
-#endif /* def FEATURE_PTHREAD */
#include "jbsockets.h"
#include "filters.h"
}
#endif /* def TCP_NODELAY */
-#if !defined(_WIN32) && !defined(__BEOS__) && !defined(AMIGA) && !defined(__OS2__)
+#if !defined(_WIN32) && !defined(__BEOS__) && !defined(AMIGA) && !defined(__OS2__)
if ((flags = fcntl(fd, F_GETFL, 0)) != -1)
{
flags |= O_NDELAY;
tv->tv_usec = 0;
/* MS Windows uses int, not SOCKET, for the 1st arg of select(). Wierd! */
- if (select((int)fd + 1, NULL, &wfds, NULL, tv) > 0 &&
- FD_ISSET(fd, &wfds))
+ if ((select((int)fd + 1, NULL, &wfds, NULL, tv) > 0)
+ && FD_ISSET(fd, &wfds))
{
- /* See Linux connect(2) man page for more info about connecting on
- * non-blocking socket. */
+ /*
+ * See Linux connect(2) man page for more info
+ * about connecting on non-blocking socket.
+ */
int socket_in_error;
socklen_t optlen = sizeof(socket_in_error);
if (!getsockopt(fd, SOL_SOCKET, SO_ERROR, &socket_in_error, &optlen))
{
if (!socket_in_error)
{
- break; /* for; Connection established; don't try other addresses */
+ /* Connection established, no need to try other addresses. */
+ break;
}
- log_error(LOG_LEVEL_INFO, "Could not connect to TCP/[%s]:%s: %s",
- csp->http->host_ip_addr_str, service,
- strerror(socket_in_error));
+ log_error(LOG_LEVEL_CONNECT, "Could not connect to [%s]:%s: %s.",
+ csp->http->host_ip_addr_str, service, strerror(socket_in_error));
}
else
{
- log_error(LOG_LEVEL_ERROR,
- "Could not get state of TCP connection to [%s]:%s: %s;"
- " dropping connection",
- csp->http->host_ip_addr_str, service, strerror(errno));
+ log_error(LOG_LEVEL_ERROR, "Could not get the state of "
+ "the connection to [%s]:%s: %s; dropping connection.",
+ csp->http->host_ip_addr_str, service, strerror(errno));
}
}
freeaddrinfo(result);
if (!rp)
{
- log_error(LOG_LEVEL_INFO,
- "Could not connect to TCP/[%s]:%s", host, service);
+ log_error(LOG_LEVEL_CONNECT, "Could not connect to [%s]:%s.",
+ host, service);
return(JB_INVALID_SOCKET);
}
- log_error(LOG_LEVEL_INFO, "Connected to TCP/%s[%s]:%s", host,
- csp->http->host_ip_addr_str, service);
+ log_error(LOG_LEVEL_CONNECT, "Connected to %s[%s]:%s.",
+ host, csp->http->host_ip_addr_str, service);
return(fd);
{
host = NULL;
}
-#elif FEATURE_PTHREAD
+#elif def MUTEX_LOCKS_AVAILABLE
privoxy_mutex_lock(&resolver_mutex);
host = gethostbyaddr((const char *)&server.sin_addr,
sizeof(server.sin_addr), AF_INET);
{
hostp = NULL;
}
-#elif FEATURE_PTHREAD
+#elif def MUTEX_LOCKS_AVAILABLE
privoxy_mutex_lock(&resolver_mutex);
while (NULL == (hostp = gethostbyname(host))
&& (h_errno == TRY_AGAIN) && (dns_retries++ < MAX_DNS_RETRIES))