From 9424a2760917ffde1cdaf6217309b9b01f31d4a9 Mon Sep 17 00:00:00 2001 From: Fabian Keil Date: Sun, 22 May 2016 12:42:49 +0000 Subject: [PATCH] Add configure argument to optimistically redefine FD_SETSIZE ... with the intent to change the maximum number of client connections Privoxy can handle. Only works with some libcs. Sponsored by: Robert Klemme --- configure.in | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in index f38afa2c..12cab501 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. dnl -dnl $Id: configure.in,v 1.196 2016/04/09 10:22:40 fabiankeil Exp $ +dnl $Id: configure.in,v 1.197 2016/05/08 10:44:39 fabiankeil Exp $ dnl dnl Written by and Copyright (C) 2001-2016 the dnl Privoxy team. https://www.privoxy.org/ @@ -32,7 +32,7 @@ dnl ================================================================= dnl AutoConf Initialization dnl ================================================================= -AC_REVISION($Revision: 1.196 $) +AC_REVISION($Revision: 1.197 $) AC_INIT(jcc.c) if test ! -f config.h.in; then @@ -464,6 +464,26 @@ fi AC_SUBST(PTHREAD_ONLY) +dnl ================================================================= +dnl On most platforms select() does not support fd numbers above +dnl FD_SETSIZE, as a result Privoxy can't handle more than +dnl approximately FD_SETSIZE/2 client connections. +dnl On some platforms the value can be changed at compile time, +dnl on others it's hardcoded and requires recompilation of the OS. +dnl ================================================================= +AC_ARG_WITH(fdsetsize, + [ --with-fdsetsize=n Optimistically redefine FD_SETSIZE with the intend to change the number of connections Privoxy can handle. Dangerous if the platform doesn't support this.], + [ + if test "x$withval" != "xyes"; then + AC_DEFINE_UNQUOTED(FD_SETSIZE,$with_fdsetsize,[Relevant for select(). Not honoured by all OS.]) + echo "Redefining FD_SETSIZE to $with_fdsetsize." + AC_MSG_WARN(On platforms that don't support FD_SETSIZE redefinition it may cause memory corruption.) + else + AC_MSG_ERROR(--with-fdsetsize used without value) + fi + ] +) + dnl ================================================================= dnl Support for thread-safe versions of gethostbyaddr, gethostbyname, dnl gmtime and localtime -- 2.39.2