Make poll() non-optional and remove select()-based fallback code
[privoxy.git] / loadcfg.c
index dbed0a3..9b39f54 100644 (file)
--- a/loadcfg.c
+++ b/loadcfg.c
@@ -1460,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;
          }