-const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.42 2007/04/01 17:37:07 fabiankeil Exp $";
+const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.44 2007/09/15 13:01:31 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/jbsockets.c,v $
*
* Revisions :
* $Log: jbsockets.c,v $
+ * Revision 1.44 2007/09/15 13:01:31 fabiankeil
+ * Increase listen() backlog to SOMAXCONN (or 128) to decrease
+ * chances of dropped connections under load. Problem reported
+ * and fix suggested by nobody in BR#1795281.
+ *
+ * Revision 1.43 2007/06/01 18:16:36 fabiankeil
+ * Use the same mutex for gethostbyname() and gethostbyaddr() to prevent
+ * deadlocks and crashes on OpenBSD and possibly other OS with neither
+ * gethostbyname_r() nor gethostaddr_r(). Closes BR#1729174.
+ * Thanks to Ralf Horstmann for report and solution.
+ *
* Revision 1.42 2007/04/01 17:37:07 fabiankeil
* - Add DNS retries for Solaris and other systems
* whose gethostbyname_r version takes five arguments.
*/
#define MAX_DNS_RETRIES 10
+#define MAX_LISTEN_BACKLOG 128
+
+
/*********************************************************************
*
* Function : connect_to
* duplicate instances of Privoxy from being caught.
*
* On UNIX, we assume the user is sensible enough not
- * to start Junkbuster multiple times on the same IP.
+ * to start Privoxy multiple times on the same IP.
* Without this, stopping and restarting Privoxy
* from a script fails.
* Note: SO_REUSEADDR is meant to only take over
}
}
- while (listen(fd, 5) == -1)
+ while (listen(fd, MAX_LISTEN_BACKLOG) == -1)
{
if (errno != EINTR)
{