dovecot-2.2: Use io_add_istream() wherever possible.

dovecot at dovecot.org dovecot at dovecot.org
Thu Apr 3 16:59:39 UTC 2014


details:   http://hg.dovecot.org/dovecot-2.2/rev/a1c153c70bb9
changeset: 17192:a1c153c70bb9
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Apr 03 19:59:30 2014 +0300
description:
Use io_add_istream() wherever possible.
This shouldn't fix anything, but might make some functionality easier to
implement in future.

diffstat:

 src/doveadm/dsync/dsync-ibc-stream.c  |  4 +---
 src/imap/cmd-append.c                 |  3 +--
 src/imap/cmd-idle.c                   |  7 +++----
 src/imap/imap-client.c                |  8 +++-----
 src/lib-http/http-client-connection.c |  8 ++++----
 src/lib-http/http-client-request.c    |  7 ++-----
 src/lib-http/test-http-client.c       |  3 +--
 src/pop3/pop3-client.c                |  6 +++---
 8 files changed, 18 insertions(+), 28 deletions(-)

diffs (183 lines):

diff -r 790afcf05f0d -r a1c153c70bb9 src/doveadm/dsync/dsync-ibc-stream.c
--- a/src/doveadm/dsync/dsync-ibc-stream.c	Thu Apr 03 19:56:47 2014 +0300
+++ b/src/doveadm/dsync/dsync-ibc-stream.c	Thu Apr 03 19:59:30 2014 +0300
@@ -134,7 +134,6 @@
 	struct dsync_ibc ibc;
 
 	char *name, *temp_path_prefix;
-	int fd_in, fd_out;
 	struct istream *input;
 	struct ostream *output;
 	struct io *io;
@@ -292,7 +291,7 @@
 {
 	unsigned int i;
 
-	ibc->io = io_add(ibc->fd_in, IO_READ, dsync_ibc_stream_input, ibc);
+	ibc->io = io_add_istream(ibc->input, dsync_ibc_stream_input, ibc);
 	o_stream_set_no_error_handling(ibc->output, TRUE);
 	o_stream_set_flush_callback(ibc->output, dsync_ibc_stream_output, ibc);
 	ibc->to = timeout_add(DSYNC_IBC_STREAM_TIMEOUT_MSECS,
@@ -1845,7 +1844,6 @@
 	ibc->ibc.v = dsync_ibc_stream_vfuncs;
 	ibc->input = input;
 	ibc->output = output;
-	ibc->fd_in = i_stream_get_fd(input);
 	ibc->name = i_strdup(name);
 	ibc->temp_path_prefix = i_strdup(temp_path_prefix);
 	ibc->ret_pool = pool_alloconly_create("ibc stream data", 2048);
diff -r 790afcf05f0d -r a1c153c70bb9 src/imap/cmd-append.c
--- a/src/imap/cmd-append.c	Thu Apr 03 19:56:47 2014 +0300
+++ b/src/imap/cmd-append.c	Thu Apr 03 19:59:30 2014 +0300
@@ -914,8 +914,7 @@
 	}
 
 	io_remove(&client->io);
-	client->io = io_add(i_stream_get_fd(client->input), IO_READ,
-			    client_input_append, cmd);
+	client->io = io_add_istream(client->input, client_input_append, cmd);
 	/* append is special because we're only waiting on client input, not
 	   client output, so disable the standard output handler until we're
 	   finished */
diff -r 790afcf05f0d -r a1c153c70bb9 src/imap/cmd-idle.c
--- a/src/imap/cmd-idle.c	Thu Apr 03 19:56:47 2014 +0300
+++ b/src/imap/cmd-idle.c	Thu Apr 03 19:59:30 2014 +0300
@@ -284,8 +284,8 @@
 	}
 	if (client->io == NULL) {
 		/* input is pending */
-		client->io = io_add(i_stream_get_fd(client->input),
-				    IO_READ, idle_client_input, ctx);
+		client->io = io_add_istream(client->input,
+					    idle_client_input, ctx);
 		idle_client_input_more(ctx);
 	}
 	return FALSE;
@@ -306,8 +306,7 @@
 	client_send_line(client, "+ idling");
 
 	io_remove(&client->io);
-	client->io = io_add(i_stream_get_fd(client->input),
-			    IO_READ, idle_client_input, ctx);
+	client->io = io_add_istream(client->input, idle_client_input, ctx);
 
 	cmd->func = cmd_idle_continue;
 	cmd->context = ctx;
diff -r 790afcf05f0d -r a1c153c70bb9 src/imap/imap-client.c
--- a/src/imap/imap-client.c	Thu Apr 03 19:56:47 2014 +0300
+++ b/src/imap/imap-client.c	Thu Apr 03 19:59:30 2014 +0300
@@ -89,7 +89,7 @@
 	o_stream_set_flush_callback(client->output, client_output, client);
 
 	p_array_init(&client->module_contexts, client->pool, 5);
-	client->io = io_add(fd_in, IO_READ, client_input, client);
+	client->io = io_add_istream(client->input, client_input, client);
         client->last_input = ioloop_time;
 	client->to_idle = timeout_add(CLIENT_IDLE_TIMEOUT_MSECS,
 				      client_idle_timeout, client);
@@ -617,10 +617,8 @@
 
 static void client_add_missing_io(struct client *client)
 {
-	if (client->io == NULL && !client->disconnected) {
-		client->io = io_add(client->fd_in,
-				    IO_READ, client_input, client);
-	}
+	if (client->io == NULL && !client->disconnected)
+		client->io = io_add_istream(client->input, client_input, client);
 }
 
 void client_command_free(struct client_command_context **_cmd)
diff -r 790afcf05f0d -r a1c153c70bb9 src/lib-http/http-client-connection.c
--- a/src/lib-http/http-client-connection.c	Thu Apr 03 19:56:47 2014 +0300
+++ b/src/lib-http/http-client-connection.c	Thu Apr 03 19:59:30 2014 +0300
@@ -375,8 +375,8 @@
 static void http_client_payload_finished(struct http_client_connection *conn)
 {
 	timeout_remove(&conn->to_input);
-	conn->conn.io = io_add(conn->conn.fd_in, IO_READ,
-			       http_client_connection_input, &conn->conn);
+	conn->conn.io = io_add_istream(conn->conn.input,
+				       http_client_connection_input, &conn->conn);
 }
 
 static void
@@ -464,7 +464,7 @@
 			i_stream_remove_destroy_callback(conn->incoming_payload,
 							 http_client_payload_destroyed);
 			i_stream_unref(&conn->incoming_payload);
-			conn->conn.io = io_add(conn->conn.fd_in, IO_READ,
+			conn->conn.io = io_add_istream(conn->conn.input,
 					       http_client_connection_input,
 					       &conn->conn);
 		}
@@ -997,7 +997,7 @@
 	o_stream_set_no_error_handling(conn->output, TRUE);
 	o_stream_set_name(conn->output, conn->name);
 
-	conn->io = io_add(conn->fd_in, IO_READ, *list->v.input, conn);
+	conn->io = io_add_istream(conn->input, *list->v.input, conn);
 	
 	DLLIST_PREPEND(&list->connections, conn);
 	list->connections_count++;
diff -r 790afcf05f0d -r a1c153c70bb9 src/lib-http/http-client-request.c
--- a/src/lib-http/http-client-request.c	Thu Apr 03 19:56:47 2014 +0300
+++ b/src/lib-http/http-client-request.c	Thu Apr 03 19:59:30 2014 +0300
@@ -548,7 +548,6 @@
 	struct http_client_connection *conn = req->conn;
 	struct ostream *output = req->payload_output;
 	off_t ret;
-	int fd;
 
 	i_assert(req->payload_input != NULL);
 	i_assert(req->payload_output != NULL);
@@ -608,11 +607,9 @@
 		http_client_request_debug(req, "Partially sent payload");
 	} else {
 		/* input is blocking */
-		fd = i_stream_get_fd(req->payload_input);
 		conn->output_locked = TRUE;	
-		i_assert(fd >= 0);
-		conn->io_req_payload = io_add
-			(fd, IO_READ, http_client_request_payload_input, req);
+		conn->io_req_payload = io_add_istream(req->payload_input,
+			http_client_request_payload_input, req);
 	}
 	return ret < 0 ? -1 : 0;
 }
diff -r 790afcf05f0d -r a1c153c70bb9 src/lib-http/test-http-client.c
--- a/src/lib-http/test-http-client.c	Thu Apr 03 19:56:47 2014 +0300
+++ b/src/lib-http/test-http-client.c	Thu Apr 03 19:59:30 2014 +0300
@@ -63,8 +63,7 @@
 	i_info("DEBUG: REQUEST: Got payload");
 	i_stream_ref(response->payload);
 	req->payload = response->payload;
-	req->io = io_add(i_stream_get_fd(response->payload), IO_READ,
-			 payload_input, req);
+	req->io = io_add_istream(response->payload, payload_input, req);
 	payload_input(req);
 }
 
diff -r 790afcf05f0d -r a1c153c70bb9 src/pop3/pop3-client.c
--- a/src/pop3/pop3-client.c	Thu Apr 03 19:56:47 2014 +0300
+++ b/src/pop3/pop3-client.c	Thu Apr 03 19:59:30 2014 +0300
@@ -394,7 +394,7 @@
 	o_stream_set_flush_callback(client->output, client_output, client);
 
 	p_array_init(&client->module_contexts, client->pool, 5);
-	client->io = io_add(fd_in, IO_READ, client_input, client);
+	client->io = io_add_istream(client->input, client_input, client);
         client->last_input = ioloop_time;
 	client->to_idle = timeout_add(CLIENT_IDLE_TIMEOUT_MSECS,
 				      client_idle_timeout, client);
@@ -812,8 +812,8 @@
 		if (o_stream_get_buffer_used_size(client->output) <
 		    POP3_OUTBUF_THROTTLE_SIZE/2 && client->io == NULL) {
 			/* enable input again */
-			client->io = io_add(i_stream_get_fd(client->input),
-					    IO_READ, client_input, client);
+			client->io = io_add_istream(client->input, client_input,
+						    client);
 		}
 		if (client->io != NULL && client->waiting_input) {
 			if (!client_handle_input(client)) {


More information about the dovecot-cvs mailing list