char *pid_file;
char *socket_options;
+ int listen_backlog;
int rsync_port;
} global_vars;
/* pid_file; */ NULL,
/* socket_options; */ NULL,
+ /* listen_backlog; */ 5,
/* rsync_port; */ 0,
},
static struct parm_struct parm_table[] =
{
{"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},
{"pid file", P_STRING, P_GLOBAL,&Vars.g.pid_file, NULL,0},
{"port", P_INTEGER,P_GLOBAL,&Vars.g.rsync_port, NULL,0},
FN_GLOBAL_STRING(lp_pid_file, &Vars.g.pid_file)
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_LOCAL_STRING(lp_auth_users, auth_users)
special socket options are set. These settings can also be specified
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()
manpagesection(MODULE PARAMETERS)
/* ready to listen */
FD_ZERO(&deffds);
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");
#ifdef INET6
if (errno == EADDRINUSE && i > 0) {