[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