[dovecot-cvs] dovecot/src/login-common main.c, 1.30, 1.31 master.c, 1.16, 1.17 ssl-proxy-gnutls.c, 1.12, 1.13 ssl-proxy-openssl.c, 1.34, 1.35

cras at dovecot.org cras at dovecot.org
Sun Jan 29 14:14:56 EET 2006


Update of /var/lib/cvs/dovecot/src/login-common
In directory talvi:/tmp/cvs-serv19474/login-common

Modified Files:
	main.c master.c ssl-proxy-gnutls.c ssl-proxy-openssl.c 
Log Message:
Call io_remove() before closing the fd. It's required by kqueue.



Index: main.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/login-common/main.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- main.c	14 Jan 2006 18:48:01 -0000	1.30
+++ main.c	29 Jan 2006 12:14:49 -0000	1.31
@@ -55,17 +55,15 @@
 		return;
 
 	if (io_listen != NULL) {
+		io_remove(&io_listen);
 		if (close(LOGIN_LISTEN_FD) < 0)
 			i_fatal("close(listen) failed: %m");
-
-		io_remove(&io_listen);
 	}
 
 	if (io_ssl_listen != NULL) {
+		io_remove(&io_ssl_listen);
 		if (close(LOGIN_SSL_LISTEN_FD) < 0)
 			i_fatal("close(ssl_listen) failed: %m");
-
-		io_remove(&io_ssl_listen);
 	}
 
 	closing_down = TRUE;

Index: master.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/login-common/master.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- master.c	14 Jan 2006 18:48:01 -0000	1.16
+++ master.c	29 Jan 2006 12:14:49 -0000	1.17
@@ -93,12 +93,11 @@
 	if (io_master == NULL)
 		return;
 
+	io_remove(&io_master);
 	if (close(master_fd) < 0)
 		i_fatal("close(master) failed: %m");
 	master_fd = -1;
 
-	io_remove(&io_master);
-
         main_close_listen();
 	main_unref();
 

Index: ssl-proxy-gnutls.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/login-common/ssl-proxy-gnutls.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- ssl-proxy-gnutls.c	13 Jan 2006 20:26:39 -0000	1.12
+++ ssl-proxy-gnutls.c	29 Jan 2006 12:14:49 -0000	1.13
@@ -144,14 +144,14 @@
 
 	gnutls_deinit(proxy->session);
 
-	(void)net_disconnect(proxy->fd_ssl);
-	(void)net_disconnect(proxy->fd_plain);
-
 	if (proxy->io_ssl != NULL)
 		io_remove(proxy->io_ssl);
 	if (proxy->io_plain != NULL)
 		io_remove(proxy->io_plain);
 
+	(void)net_disconnect(proxy->fd_ssl);
+	(void)net_disconnect(proxy->fd_plain);
+
 	i_free(proxy);
 
 	main_unref();

Index: ssl-proxy-openssl.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/login-common/ssl-proxy-openssl.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- ssl-proxy-openssl.c	15 Jan 2006 13:16:53 -0000	1.34
+++ ssl-proxy-openssl.c	29 Jan 2006 12:14:49 -0000	1.35
@@ -540,9 +540,6 @@
 
 	hash_remove(ssl_proxies, proxy);
 
-	(void)net_disconnect(proxy->fd_ssl);
-	(void)net_disconnect(proxy->fd_plain);
-
 	if (proxy->io_ssl_read != NULL)
 		io_remove(&proxy->io_ssl_read);
 	if (proxy->io_ssl_write != NULL)
@@ -552,6 +549,9 @@
 	if (proxy->io_plain_write != NULL)
 		io_remove(&proxy->io_plain_write);
 
+	(void)net_disconnect(proxy->fd_ssl);
+	(void)net_disconnect(proxy->fd_plain);
+
 	ssl_proxy_unref(proxy);
 }
 



More information about the dovecot-cvs mailing list