Mercurial > dovecot > original-hg > dovecot-1.2
changeset 3075:9cb91ed5a110 HEAD
Added backlog parameter for net_listen*().
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 09 Jan 2005 18:51:03 +0200 |
parents | 3feb38ff17f5 |
children | 8d15fea729c2 |
files | src/auth/main.c src/lib/network.c src/lib/network.h src/login-common/master.c src/master/auth-process.c src/master/main.c |
diffstat | 6 files changed, 13 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/src/auth/main.c Sun Jan 09 02:49:18 2005 +0200 +++ b/src/auth/main.c Sun Jan 09 18:51:03 2005 +0200 @@ -79,7 +79,7 @@ return gr->gr_gid; } -static int create_unix_listener(const char *env) +static int create_unix_listener(const char *env, int backlog) { const char *path, *mode, *user, *group; mode_t old_umask; @@ -103,7 +103,7 @@ old_umask = umask(mask); for (i = 0; i < 5; i++) { - fd = net_listen_unix(path); + fd = net_listen_unix(path, backlog); if (fd != -1) break; @@ -149,9 +149,9 @@ } str = t_strdup_printf("AUTH_%u", i); - client_fd = create_unix_listener(str); + client_fd = create_unix_listener(str, 16); str = t_strdup_printf("AUTH_%u_MASTER", i); - master_fd = create_unix_listener(str); + master_fd = create_unix_listener(str, 1); master = auth_master_connection_create(auth, -1); if (master_fd != -1) {
--- a/src/lib/network.c Sun Jan 09 02:49:18 2005 +0200 +++ b/src/lib/network.c Sun Jan 09 18:51:03 2005 +0200 @@ -9,8 +9,6 @@ #include <sys/un.h> #include <netinet/tcp.h> -#define LISTEN_BACKLOG 8 - union sockaddr_union { struct sockaddr sa; struct sockaddr_in sin; @@ -241,7 +239,7 @@ /* Listen for connections on a socket. if `my_ip' is NULL, listen in any address. */ -int net_listen(const struct ip_addr *my_ip, unsigned int *port) +int net_listen(const struct ip_addr *my_ip, unsigned int *port, int backlog) { union sockaddr_union so; int ret, fd, opt = 1; @@ -281,7 +279,7 @@ *port = sin_get_port(&so); /* start listening */ - if (listen(fd, LISTEN_BACKLOG) >= 0) + if (listen(fd, backlog) >= 0) return fd; } @@ -292,7 +290,7 @@ return -1; } -int net_listen_unix(const char *path) +int net_listen_unix(const char *path, int backlog) { struct sockaddr_un sa; int fd; @@ -313,7 +311,7 @@ /* bind */ if (bind(fd, (struct sockaddr *) &sa, sizeof(sa)) == 0) { /* start listening */ - if (listen(fd, LISTEN_BACKLOG) == 0) + if (listen(fd, backlog) == 0) return fd; }
--- a/src/lib/network.h Sun Jan 09 02:49:18 2005 +0200 +++ b/src/lib/network.h Sun Jan 09 18:51:03 2005 +0200 @@ -62,9 +62,9 @@ void net_get_ip_any6(struct ip_addr *ip); /* Listen for connections on a socket */ -int net_listen(const struct ip_addr *my_ip, unsigned int *port); +int net_listen(const struct ip_addr *my_ip, unsigned int *port, int backlog); /* Listen for connections on an UNIX socket */ -int net_listen_unix(const char *path); +int net_listen_unix(const char *path, int backlog); /* Accept a connection on a socket. Returns -1 for temporary failure, -2 for fatal failure */ int net_accept(int fd, struct ip_addr *addr, unsigned int *port);
--- a/src/login-common/master.c Sun Jan 09 02:49:18 2005 +0200 +++ b/src/login-common/master.c Sun Jan 09 18:51:03 2005 +0200 @@ -175,7 +175,7 @@ } /* need to create it */ - fd = net_listen_unix(path); + fd = net_listen_unix(path, 16); if (fd != -1) { master_exec(fd); fd = -1;
--- a/src/master/auth-process.c Sun Jan 09 02:49:18 2005 +0200 +++ b/src/master/auth-process.c Sun Jan 09 18:51:03 2005 +0200 @@ -371,7 +371,7 @@ (void)unlink(path); old_umask = umask(0117); /* we want 0660 mode for the socket */ - fd = net_listen_unix(path); + fd = net_listen_unix(path, 16); umask(old_umask); if (fd < 0)