dovecot-2.0: master: Increased listen backlog for services witho...
dovecot at dovecot.org
dovecot at dovecot.org
Sat Mar 27 06:54:53 EET 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/96496e1d3d12
changeset: 11013:96496e1d3d12
user: Timo Sirainen <tss at iki.fi>
date: Sat Mar 27 06:54:51 2010 +0200
description:
master: Increased listen backlog for services without many processes.
diffstat:
src/master/service-listen.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diffs (27 lines):
diff -r 84ffb38839b9 -r 96496e1d3d12 src/master/service-listen.c
--- a/src/master/service-listen.c Sat Mar 27 03:08:26 2010 +0000
+++ b/src/master/service-listen.c Sat Mar 27 06:54:51 2010 +0200
@@ -12,16 +12,22 @@
#include <fcntl.h>
#include <sys/stat.h>
+#define MAX_BACKLOG 128
+
static int service_unix_listener_listen(struct service_listener *l)
{
struct service *service = l->service;
const struct file_listener_settings *set = l->set.fileset.set;
mode_t old_umask;
+ unsigned int backlog;
int fd, i;
old_umask = umask((set->mode ^ 0777) & 0777);
for (i = 0;; i++) {
- fd = net_listen_unix(set->path, service->process_limit);
+ backlog = service->process_limit * service->client_limit;
+ if (backlog > MAX_BACKLOG)
+ backlog = MAX_BACKLOG;
+ fd = net_listen_unix(set->path, backlog);
if (fd != -1)
break;
More information about the dovecot-cvs
mailing list