Commit 050e5334 authored by Wayne Davison's avatar Wayne Davison

Added "listen backlog" daemon config paramater.

parent bf4170ad
...@@ -97,6 +97,7 @@ typedef struct { ...@@ -97,6 +97,7 @@ typedef struct {
char *pid_file; char *pid_file;
char *socket_options; char *socket_options;
int listen_backlog;
int rsync_port; int rsync_port;
} global_vars; } global_vars;
...@@ -175,6 +176,7 @@ static const all_vars Defaults = { ...@@ -175,6 +176,7 @@ static const all_vars Defaults = {
/* pid_file; */ NULL, /* pid_file; */ NULL,
/* socket_options; */ NULL, /* socket_options; */ NULL,
/* listen_backlog; */ 5,
/* rsync_port; */ 0, /* rsync_port; */ 0,
}, },
...@@ -311,6 +313,7 @@ static struct enum_list enum_facilities[] = { ...@@ -311,6 +313,7 @@ static struct enum_list enum_facilities[] = {
static struct parm_struct parm_table[] = static struct parm_struct parm_table[] =
{ {
{"address", P_STRING, P_GLOBAL,&Vars.g.bind_address, NULL,0}, {"address", P_STRING, P_GLOBAL,&Vars.g.bind_address, NULL,0},
{"listen backlog", P_INTEGER,P_GLOBAL,&Vars.g.listen_backlog, NULL,0},
{"motd file", P_STRING, P_GLOBAL,&Vars.g.motd_file, NULL,0}, {"motd file", P_STRING, P_GLOBAL,&Vars.g.motd_file, NULL,0},
{"pid file", P_STRING, P_GLOBAL,&Vars.g.pid_file, NULL,0}, {"pid file", P_STRING, P_GLOBAL,&Vars.g.pid_file, NULL,0},
{"port", P_INTEGER,P_GLOBAL,&Vars.g.rsync_port, NULL,0}, {"port", P_INTEGER,P_GLOBAL,&Vars.g.rsync_port, NULL,0},
...@@ -445,6 +448,7 @@ FN_GLOBAL_STRING(lp_motd_file, &Vars.g.motd_file) ...@@ -445,6 +448,7 @@ FN_GLOBAL_STRING(lp_motd_file, &Vars.g.motd_file)
FN_GLOBAL_STRING(lp_pid_file, &Vars.g.pid_file) FN_GLOBAL_STRING(lp_pid_file, &Vars.g.pid_file)
FN_GLOBAL_STRING(lp_socket_options, &Vars.g.socket_options) FN_GLOBAL_STRING(lp_socket_options, &Vars.g.socket_options)
FN_GLOBAL_INTEGER(lp_listen_backlog, &Vars.g.listen_backlog)
FN_GLOBAL_INTEGER(lp_rsync_port, &Vars.g.rsync_port) FN_GLOBAL_INTEGER(lp_rsync_port, &Vars.g.rsync_port)
FN_LOCAL_STRING(lp_auth_users, auth_users) FN_LOCAL_STRING(lp_auth_users, auth_users)
......
...@@ -120,6 +120,9 @@ details on some of the options you may be able to set. By default no ...@@ -120,6 +120,9 @@ details on some of the options you may be able to set. By default no
special socket options are set. These settings can also be specified special socket options are set. These settings can also be specified
via the bf(--sockopts) command-line option. via the bf(--sockopts) command-line option.
dit(bf(listen backlog)) You can override the default backlog value when the
daemon listens for connections. It defaults to 5.
enddit() enddit()
manpagesection(MODULE PARAMETERS) manpagesection(MODULE PARAMETERS)
......
...@@ -546,7 +546,7 @@ void start_accept_loop(int port, int (*fn)(int, int)) ...@@ -546,7 +546,7 @@ void start_accept_loop(int port, int (*fn)(int, int))
/* ready to listen */ /* ready to listen */
FD_ZERO(&deffds); FD_ZERO(&deffds);
for (i = 0, maxfd = -1; sp[i] >= 0; i++) { for (i = 0, maxfd = -1; sp[i] >= 0; i++) {
if (listen(sp[i], 5) < 0) { if (listen(sp[i], lp_listen_backlog()) < 0) {
rsyserr(FERROR, errno, "listen() on socket failed"); rsyserr(FERROR, errno, "listen() on socket failed");
#ifdef INET6 #ifdef INET6
if (errno == EADDRINUSE && i > 0) { if (errno == EADDRINUSE && i > 0) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment