Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Nov 2013 16:03:18 +0100
From:      Pietro Cerutti <gahr@FreeBSD.org>
To:        Sean Kelly <smkelly@flightaware.com>
Cc:        "tcltk@freebsd.org" <tcltk@freebsd.org>
Subject:   Re: FD_SETSIZE
Message-ID:  <20131107150318.GA88680@gahrfit.gahr.ch>
In-Reply-To: <CEA00580.1309D%smkelly@flightaware.com>
References:  <CEA00580.1309D%smkelly@flightaware.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--kVXhAStRUZ/+rrGn
Content-Type: multipart/mixed; boundary="s2ZSL+KKDSLx8OML"
Content-Disposition: inline


--s2ZSL+KKDSLx8OML
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On 2013-Nov-06, 20:41, Sean Kelly wrote:
> At FlightAware, we are extensive users of both Tcl and FreeBSD. However, =
we are currently applying a local patch to the lang/tcl85 port to increase =
FD_SETSIZE from the default 1024 to 4096 so that select() can handle larger=
 socket collections.

Hello Sean,

I see that FD_SETSIZE is defined to 1024 in sys/select.h. Tcl 85 just
gets it from there. Because of this, I don't know whether it really
makes sense to patch Tcl. At least by default. An OPTION (maybe off by
default) to increase this by specifying -DFD_SETSIZE=3D4096 in CFLAGS.

> Would it be possible to get this patch added to the port? Alternatively, =
can we add a configure option to the port that enables this? I=E2=80=99d be=
 happy to provide a patch or send-pr, I just want to see if there is intere=
st/objections to this.

Would the attached patch be ok to you?

Thanks,

--=20
Pietro Cerutti
The FreeBSD Project
gahr@FreeBSD.org

PGP Public Key:
http://gahr.ch/pgp

--s2ZSL+KKDSLx8OML
Content-Type: text/x-diff; charset=utf-8
Content-Disposition: attachment; filename="tcl85-large-fdset.diff"
Content-Transfer-Encoding: quoted-printable

Index: Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- Makefile	(revision 333105)
+++ Makefile	(working copy)
@@ -16,11 +16,12 @@
=20
 LICENSE=3D	BSD
=20
-OPTIONS_DEFINE=3D	TCLMAN TZDATA MODULES THREADS
+OPTIONS_DEFINE=3D	TCLMAN TZDATA MODULES THREADS LARGE_FDSET
 OPTIONS_DEFAULT=3DMODULES THREADS
 TCLMAN_DESC=3D	Install Tcl function manpages
 TZDATA_DESC=3D	Install Tcl timezone data
 MODULES_DESC=3D	Install Tcl common modules
+LARGE_FDSET_DESC=3D	Set FD_SETSIZE to 4096
=20
 NO_STAGE=3D	yes
 WRKSRC=3D		${WRKDIR}/${DISTNAME:S/-src//}/unix
@@ -74,6 +75,10 @@
 CONFIGURE_ARGS+=3D--without-tzdata
 .endif
=20
+.if ${PORT_OPTIONS:MLARGE_FDSET}
+CFLAGS+=3D 	-DFD_SETSIZE=3D4096
+.endif
+
 post-patch:
 	${REINPLACE_CMD} -e \
 	    's|@TCL_BUILD_LIB_SPEC@|@TCL_LIB_SPEC@|; \

--s2ZSL+KKDSLx8OML--

--kVXhAStRUZ/+rrGn
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQJ8BAEBCgBmBQJSe6uyXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXREQTZERTEwNkE1Qjg1NEI4NUREODZENDlB
REQwRDM4RUExOTIwODlFAAoJEK3Q046hkgieS84P/Rb3rdyeMGZbuJ7Tq7G7uDJx
7WdLTtk6WOQPux4Izs3VEcEhGKROYJ1D2hluba4xqgdnBgCtRD5HLNo1kb7KvVde
C5mrRb9/wJYI8vgC4Q+8B3L+vwUmLDGWthrvLFtlIQTBU8dLnRT49PsXWOtch0Q/
BT1/tr1qZkD1NFUdqTvOzvBFQXc45UySQQLedZyhWFTUDyvMqRtUna7eFs+2TUdS
9GkvOmKCurHPWgKa0YB/UlxyWTJXZVQBCWrEhw54tZPF3gjRBxf3r7ij0yAl4RaR
jFD6uZebyxKFxSEZY66oRu5pKMdlZ0UczXGauFeQGE2+yWhGYbsAAQjJmNmyE+Zz
RCdTG8p3sd/DXIagpfAtXIFx6T4nrgRyu3oofAX5OMeDtJH6q3MJ69s0IYTpBDOg
nKoczYZxF5NrOoMwIrb1jyzCFYexs/5dGbZPK8y+2LVbym0cKFfs3ROuw+d7Tujx
ZKYMwFCf0eXwdUxFI/M3Sdsp9UyNN55kqBVLVyYlRjT6o98Jk8GwptTr789QKdSZ
Z5d07SaEpftVtwDrucbYoSL3s1Y83t/f4ff5XJpC5ZIDPo0bwYkrIIbfkh6FWhOc
7SOPQCBEqjQcotB9ZoQBNbJrVkzs4DM28kaAL1Wenmp6ZDDxpHdORBq2r5EDsExo
7lce8dpqozxF0yX570pE
=d7xS
-----END PGP SIGNATURE-----

--kVXhAStRUZ/+rrGn--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131107150318.GA88680>