dovecot-2.0: master: Fixes to listening in fifos.

dovecot at dovecot.org dovecot at dovecot.org
Wed May 19 13:23:40 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/0fc0cc9e0952
changeset: 11323:0fc0cc9e0952
user:      Timo Sirainen <tss at iki.fi>
date:      Wed May 19 12:17:53 2010 +0200
description:
master: Fixes to listening in fifos.

diffstat:

 src/master/service-listen.c |  4 +---
 src/master/service.c        |  4 ++--
 2 files changed, 3 insertions(+), 5 deletions(-)

diffs (42 lines):

diff -r 12316378922e -r 0fc0cc9e0952 src/master/service-listen.c
--- a/src/master/service-listen.c	Wed May 19 11:53:26 2010 +0200
+++ b/src/master/service-listen.c	Wed May 19 12:17:53 2010 +0200
@@ -117,7 +117,7 @@
 		return -1;
 	}
 
-	fd = open(set->path, O_RDONLY);
+	fd = open(set->path, O_RDONLY | O_NONBLOCK);
 	if (fd == -1) {
 		service_error(service, "open(%s) failed: %m", set->path);
 		return -1;
@@ -134,8 +134,6 @@
 			return -1;
 		}
 	}
-
-	fd_set_nonblock(fd, TRUE);
 	fd_close_on_exec(fd, TRUE);
 
 	l->fd = fd;
diff -r 12316378922e -r 0fc0cc9e0952 src/master/service.c
--- a/src/master/service.c	Wed May 19 11:53:26 2010 +0200
+++ b/src/master/service.c	Wed May 19 12:17:53 2010 +0200
@@ -267,7 +267,7 @@
 		unix_count = 0;
 	}
 	if (array_is_created(&set->fifo_listeners))
-		fifo_listeners = array_get(&set->unix_listeners, &fifo_count);
+		fifo_listeners = array_get(&set->fifo_listeners, &fifo_count);
 	else {
 		fifo_listeners = NULL;
 		fifo_count = 0;
@@ -305,7 +305,7 @@
 			continue;
 		}
 
-		l = service_create_file_listener(service, SERVICE_LISTENER_UNIX,
+		l = service_create_file_listener(service, SERVICE_LISTENER_FIFO,
 						 fifo_listeners[i], error_r);
 		if (l == NULL)
 			return NULL;


More information about the dovecot-cvs mailing list