changeset 11565:b2ffb6846973 HEAD

imap, pop3, lmtp: Close network sockets with net_disconnect().
author Timo Sirainen <tss@iki.fi>
date Thu, 17 Jun 2010 14:47:27 +0100
parents c24ee1ebb159
children 744638eb4c1a
files src/imap/imap-client.c src/lmtp/client.c src/pop3/pop3-client.c
diffstat 3 files changed, 9 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/src/imap/imap-client.c	Thu Jun 17 14:47:16 2010 +0100
+++ b/src/imap/imap-client.c	Thu Jun 17 14:47:27 2010 +0100
@@ -211,12 +211,9 @@
 	i_stream_destroy(&client->input);
 	o_stream_destroy(&client->output);
 
-	if (close(client->fd_in) < 0)
-		i_error("close(client in) failed: %m");
-	if (client->fd_in != client->fd_out) {
-		if (close(client->fd_out) < 0)
-			i_error("close(client out) failed: %m");
-	}
+	net_disconnect(client->fd_in);
+	if (client->fd_in != client->fd_out)
+		net_disconnect(client->fd_out);
 
 	if (array_is_created(&client->search_saved_uidset))
 		array_free(&client->search_saved_uidset);
--- a/src/lmtp/client.c	Thu Jun 17 14:47:16 2010 +0100
+++ b/src/lmtp/client.c	Thu Jun 17 14:47:27 2010 +0100
@@ -260,12 +260,9 @@
 	i_stream_destroy(&client->input);
 	o_stream_destroy(&client->output);
 
-	if (close(client->fd_in) < 0)
-		i_error("close(client in) failed: %m");
-	if (client->fd_in != client->fd_out) {
-		if (close(client->fd_out) < 0)
-			i_error("close(client out) failed: %m");
-	}
+	net_disconnect(client->fd_in);
+	if (client->fd_in != client->fd_out)
+		net_disconnect(client->fd_out);
 	client_state_reset(client);
 	pool_unref(&client->state_pool);
 	pool_unref(&client->pool);
--- a/src/pop3/pop3-client.c	Thu Jun 17 14:47:16 2010 +0100
+++ b/src/pop3/pop3-client.c	Thu Jun 17 14:47:27 2010 +0100
@@ -425,12 +425,9 @@
 	i_stream_destroy(&client->input);
 	o_stream_destroy(&client->output);
 
-	if (close(client->fd_in) < 0)
-		i_error("close(client in) failed: %m");
-	if (client->fd_in != client->fd_out) {
-		if (close(client->fd_out) < 0)
-			i_error("close(client out) failed: %m");
-	}
+	net_disconnect(client->fd_in);
+	if (client->fd_in != client->fd_out)
+		net_disconnect(client->fd_out);
 	mail_storage_service_user_free(&client->service_user);
 	i_free(client);