diff --git a/man/3proxy.cfg.3 b/man/3proxy.cfg.3 index 3f38088..cdeef48 100644 --- a/man/3proxy.cfg.3 +++ b/man/3proxy.cfg.3 @@ -493,7 +493,7 @@ the connection limit has been reached. .B backlog .br sets the listening socket backlog of new connections. Default is -1+(maxconn>>3). Maximum value is capped by kernel tunable somaxconn. +1 + maxconn/8. Maximum value is capped by kernel tunable somaxconn. .br .B service diff --git a/src/common.c b/src/common.c index 462133d..e8106e2 100644 --- a/src/common.c +++ b/src/common.c @@ -102,7 +102,7 @@ struct extparam conf = { NULL, 0, 0, -1, 0, 0, 0, 0, - 0, 500, 13, 0, 0, 0, 0, 0, 2, + 0, 500, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 6, 600, 1048576, diff --git a/src/proxymain.c b/src/proxymain.c index 08ed586..40f7141 100644 --- a/src/proxymain.c +++ b/src/proxymain.c @@ -649,7 +649,7 @@ int MODULEMAINFUNC (int argc, char** argv){ } } if(!isudp){ - if(so._listen (sock, srv.backlog)==-1) { + if(so._listen (sock, srv.backlog?srv.backlog : 1+(srv.maxchild>>3))==-1) { sprintf((char *)buf, "listen(): %s", strerror(errno)); if(!srv.silent)dolog(&defparam, buf); return -4;