From: Timo Sirainen Date: Wed, 7 Jan 2009 18:34:25 +0000 (-0500) Subject: Increase listen queues to handle high loads better. X-Git-Tag: 1.2.beta1~150 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e17fd08d865094c644aa3298ad29320b60c60247;p=thirdparty%2Fdovecot%2Fcore.git Increase listen queues to handle high loads better. Patch by Apple. --HG-- branch : HEAD --- diff --git a/src/auth/main.c b/src/auth/main.c index ea49f05f05..b7168b2690 100644 --- a/src/auth/main.c +++ b/src/auth/main.c @@ -153,9 +153,9 @@ static void add_extra_listeners(void) break; str = t_strdup_printf("AUTH_%u", i); - client_fd = create_unix_listener(str, 64); + client_fd = create_unix_listener(str, 128); str = t_strdup_printf("AUTH_%u_MASTER", i); - master_fd = create_unix_listener(str, 64); + master_fd = create_unix_listener(str, 128); listener = auth_master_listener_create(auth); if (master_fd != -1) { diff --git a/src/dict/dict-server.c b/src/dict/dict-server.c index 975c6ff3b2..da1a15da02 100644 --- a/src/dict/dict-server.c +++ b/src/dict/dict-server.c @@ -525,7 +525,7 @@ struct dict_server *dict_server_init(const char *path, int fd) server = i_new(struct dict_server, 1); server->path = i_strdup(path); server->fd = fd != -1 ? fd : - net_listen_unix_unlink_stale(path, 64); + net_listen_unix_unlink_stale(path, 128); if (server->fd == -1) { if (errno == EADDRINUSE) i_fatal("Socket already exists: %s", path); diff --git a/src/master/auth-process.c b/src/master/auth-process.c index 7e34426fd6..051fbb98d6 100644 --- a/src/master/auth-process.c +++ b/src/master/auth-process.c @@ -327,7 +327,7 @@ auth_process_new(pid_t pid, int fd, struct auth_process_group *group) dec2str(pid)); p->worker_listen_fd = unix_socket_create(path, 0600, group->set->uid, - group->set->gid, 16); + group->set->gid, 128); if (p->worker_listen_fd == -1) i_fatal("Couldn't create auth worker listener"); @@ -712,7 +712,7 @@ static void auth_process_group_create(struct auth_settings *auth_set) path = t_strconcat(auth_set->parent->defaults->login_dir, "/", auth_set->name, NULL); group->listen_fd = unix_socket_create(path, 0660, master_uid, - auth_set->parent->login_gid, 16); + auth_set->parent->login_gid, 128); if (group->listen_fd == -1) i_fatal("Couldn't create auth process listener"); diff --git a/src/master/dict-process.c b/src/master/dict-process.c index 43a9e9e77c..6101b5a9d5 100644 --- a/src/master/dict-process.c +++ b/src/master/dict-process.c @@ -116,7 +116,7 @@ static int dict_process_listen(struct dict_process *process) mode_t old_umask; old_umask = umask(0); - process->fd = net_listen_unix_unlink_stale(process->path, 64); + process->fd = net_listen_unix_unlink_stale(process->path, 128); umask(old_umask); if (process->fd == -1) { if (errno == EADDRINUSE) diff --git a/src/master/listener.c b/src/master/listener.c index a564082079..53f4d976f6 100644 --- a/src/master/listener.c +++ b/src/master/listener.c @@ -282,8 +282,8 @@ listener_array_listen_missing(const char *proto, continue; for (j = 0; j < 10; j++) { - listens[i].fd = - net_listen(&listens[i].ip, &listens[i].port, 8); + listens[i].fd = net_listen(&listens[i].ip, + &listens[i].port, 128); if (listens[i].fd != -1) break;