Make poll() non-optional and remove select()-based fallback code
[privoxy.git] / loadcfg.c
index d9014bc..9b39f54 100644 (file)
--- a/loadcfg.c
+++ b/loadcfg.c
@@ -120,9 +120,8 @@ static struct file_list *current_configfile = NULL;
  * This takes the "cryptic" hash of each keyword and aliases them to
  * something a little more readable.  This also makes changing the
  * hash values easier if they should change or the hash algorithm changes.
- * Use the included "hash" program to find out what the hash will be
- * for any string supplied on the command line.  (Or just put it in the
- * config file and read the number from the error message in the log).
+ * To find out the hash for a new directive put it in the config file
+ * and read the number from the error message in the log).
  *
  * Please keep this list sorted alphabetically (but with the Windows
  * console and GUI specific options last).
@@ -1461,41 +1460,13 @@ struct configuration_spec * load_config(void)
          {
             int max_client_connections = parse_numeric_value(cmd, arg);
 
-#if !defined(_WIN32) && !defined(HAVE_POLL)
-            /*
-             * Reject values below 1 for obvious reasons and values above
-             * FD_SETSIZE/2 because Privoxy needs two sockets to serve
-             * client connections that need forwarding.
-             *
-             * We ignore the fact that the first three file descriptors
-             * are usually set to /dev/null, one is used for logging
-             * and yet another file descriptor is required to load
-             * config files.
-             */
-            if ((max_client_connections < 1) || (FD_SETSIZE/2 < max_client_connections))
-            {
-               log_error(LOG_LEVEL_FATAL, "max-client-connections value %d"
-                  " is invalid. Value needs to be above 1 and below %d"
-                  " (FD_SETSIZE/2).", max_client_connections, FD_SETSIZE/2);
-            }
-#else
-            /*
-             * The Windows libc uses FD_SETSIZE for an array used
-             * by select(), but has no problems with file descriptors
-             * above the limit as long as no more than FD_SETSIZE are
-             * passed to select().
-             * https://msdn.microsoft.com/en-us/library/windows/desktop/ms739169%28v=vs.85%29.aspx
-             *
-             * On platforms were we use poll() we don't have to enforce
-             * an upper connection limit either.
-             */
             if (max_client_connections < 1)
             {
                log_error(LOG_LEVEL_FATAL, "max-client-connections value"
                   " has to be a number above 1. %d is invalid.",
                   max_client_connections);
             }
-#endif
+
             config->max_client_connections = max_client_connections;
             break;
          }