* Bruce Evans <[EMAIL PROTECTED]> [010412 22:25] wrote:
> On Thu, 12 Apr 2001, Jonathan Lemon wrote:
>
> > In article <local.mail.freebsd-current/[EMAIL PROTECTED]>
>you write:
> > >Here are patches to make SOMAXCONN tunable from the config files.
> > >
> > >Right now, it's not possible to override SOMAXCONN.
> >
> > sysctl -w kern.ipc.somxconn=1024
> >
> > SOMAXCONN is just a compile time default, and yes it is not
> > currently tunable at config time. Does it really have to be?
>
> Of course it doesn't have to be tunable at config time.
>
> > Just stick it in /etc/sysctl.conf, and it gets set before most
> > things are started in the system.
>
> Changing the actual limit using either the sysctl or an option breaks
> SOMAXCONN. I think the correct fix is to never define it change
> whatever uses it to use sysconf(_SC_SOMAXCONN). Similarly for all
> other manifest constants that aren't actually constant.
Actually, the correct fix is most likely to redefine it to -1. :)
Either that or remove it from the namespace. Or just leave it alone,
afaik listen called with a backlog larger than the sysctl limit
just truncates it down to that limit.
What do you think?
/usr/src % grep -r SOMAXCON *
contrib/perl5/ext/Socket/Socket.pm: SOMAXCONN
contrib/perl5/ext/Socket/Socket.pm:sub SOMAXCONN ();
contrib/perl5/ext/Socket/Socket.xs: if (strEQ(name, "SOMAXCONN"))
contrib/perl5/ext/Socket/Socket.xs:#ifdef SOMAXCONN
contrib/perl5/ext/Socket/Socket.xs: return SOMAXCONN;
contrib/perl5/lib/Exporter.pm: use Socket qw(!/^[AP]F_/ !SOMAXCONN !SOL_SOCKE
T);
contrib/perl5/pod/perlipc.pod: listen(Server,SOMAXCONN)
|| die "listen: $!";
contrib/perl5/pod/perlipc.pod: listen(Server,SOMAXCONN)
|| die "listen: $!";
contrib/perl5/pod/perlipc.pod: listen(Server,SOMAXCONN)
|| die "listen: $!";
contrib/perl5/pod/perlipc.pod:is SOMAXCONN.
contrib/perl5/pod/perlipc.pod: Listen => SOM
AXCONN,
contrib/perl5/t/lib/ph.t: SOCK_RAW SOCK_RDM SOCK_SEQPACKET SOCK_STREAM SOL_SO
CKET SOMAXCONN
contrib/sendmail/libmilter/libmilter.h:#if SOMAXCONN > 20
contrib/sendmail/libmilter/libmilter.h:# define MI_SOMAXCONN SOMAXCONN
contrib/sendmail/libmilter/libmilter.h:#else /* SOMAXCONN */
contrib/sendmail/libmilter/libmilter.h:# define MI_SOMAXCONN 20
contrib/sendmail/libmilter/libmilter.h:#endif /* SOMAXCONN */
contrib/sendmail/libmilter/main.c:static int backlog= MI_SOMAXCONN;
crypto/heimdal/kadmin/kadm_conn.c: if (listen (s, SOMAXCONN) < 0) {
crypto/heimdal/kdc/connect.c: if(type == SOCK_STREAM && listen(d->s, SOMAXCON
N) < 0){
crypto/heimdal/lib/kadm5/ipropd_master.c: if (listen(fd, SOMAXCONN) < 0)
crypto/heimdal/lib/roken/mini_inetd.c: if (listen (fds[i], SOMAXCONN) < 0)
crypto/heimdal/lib/roken/roken-common.h:#ifndef SOMAXCONN
crypto/heimdal/lib/roken/roken-common.h:#define SOMAXCONN 5
crypto/kerberosIV/ChangeLog: * appl/kx/kx.h: Remove SOMAXCONN and add KX_PORT
crypto/kerberosIV/ChangeLog: fallback definitions for SOMAXCONN, STDIN_FILENO
, and
crypto/kerberosIV/appl/kx/common.c: && listen (s[i].fd, SOMAXCONN) < 0)
crypto/kerberosIV/appl/kx/kxd.c: if (listen (sock, SOMAXCONN) < 0) {
crypto/kerberosIV/kadmin/admin_server.c: if (listen(admin_fd, SOMAXCONN) < 0)
crypto/kerberosIV/lib/roken/mini_inetd.c: if(listen(s, SOMAXCONN) < 0){
crypto/kerberosIV/lib/roken/mini_inetd.c: if(listen(s, SOMAXCONN) < 0){
crypto/kerberosIV/lib/roken/roken-common.h:#ifndef SOMAXCONN
crypto/kerberosIV/lib/roken/roken-common.h:#define SOMAXCONN 5
crypto/kerberosIV/server/kerberos.c: listen(sock, SOMAXCONN);
crypto/kerberosIV/slave/kpropd.c: ret = listen(s, SOMAXCONN);
crypto/openssl/crypto/bio/b_sock.c:#define MAX_LISTEN SOMAXCONN
lib/libc/net/getaddrinfo.3: if (listen(s[nsock], SOMAXCONN) < 0) {
lib/libc/rpc/rpc_soc.c: _listen(fd, SOMAXCONN);
lib/libc/rpc/svc_generic.c: _listen(fd, SOMAXCONN);
sbin/mountd/mountd.c: listen(tcpsock, SOMAXCONN);
sbin/mountd/mountd.c: listen(tcp6sock, SOMAXCONN);
sys/conf/options:SOMAXCONN opt_inet.h
sys/kern/uipc_socket.c:static int somaxconn = SOMAXCONN;
sys/kern/uipc_socket.c:SYSCTL_INT(_kern_ipc, KIPC_SOMAXCONN, somaxconn, CTLFLAG_
RW,
sys/sys/socket.h:#ifndef SOMAXCONN
sys/sys/socket.h:#define SOMAXCONN 128
sys/sys/sysctl.h:#define KIPC_SOMAXCONN 3 /* int: max leng
th of connection q */
usr.sbin/rpcbind/rpcbind.c: listen(fd, SOMAXCONN);
--
-Alfred Perlstein - [[EMAIL PROTECTED]|[EMAIL PROTECTED]]
http://www.egr.unlv.edu/~slumos/on-netbsd.html
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message