]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Use io_add_istream() wherever possible.
authorTimo Sirainen <tss@iki.fi>
Thu, 3 Apr 2014 16:59:30 +0000 (19:59 +0300)
committerTimo Sirainen <tss@iki.fi>
Thu, 3 Apr 2014 16:59:30 +0000 (19:59 +0300)
This shouldn't fix anything, but might make some functionality easier to
implement in future.

src/doveadm/dsync/dsync-ibc-stream.c
src/imap/cmd-append.c
src/imap/cmd-idle.c
src/imap/imap-client.c
src/lib-http/http-client-connection.c
src/lib-http/http-client-request.c
src/lib-http/test-http-client.c
src/pop3/pop3-client.c

index 627f18f95838ba87e8c544976f8e9e9f978e48bc..cb3f3443ab4d9be28921b2073c5934f1535e22a7 100644 (file)
@@ -134,7 +134,6 @@ struct dsync_ibc_stream {
        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 @@ static void dsync_ibc_stream_init(struct dsync_ibc_stream *ibc)
 {
        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 @@ dsync_ibc_init_stream(struct istream *input, struct ostream *output,
        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);
index 989e0e65e1f7bbb35aa8034dd97e1cec070ccd16..0f22855fd00eab59537caa1942af27c2baf7b963 100644 (file)
@@ -914,8 +914,7 @@ bool cmd_append(struct client_command_context *cmd)
        }
 
        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 */
index c312c8518b359de6e2f7c0610a14b054a0f50539..74c13b7cc4e4fdf9c9f255cada3cdb2869d98f40 100644 (file)
@@ -284,8 +284,8 @@ static bool cmd_idle_continue(struct client_command_context *cmd)
        }
        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 @@ bool cmd_idle(struct client_command_context *cmd)
        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;
index 444c09dd0e0b6f193bf3b4f96c7f6e40e2d2a64c..e0419ab34d7a2061fe3aa0b85d8ad5eb4ef7ba67 100644 (file)
@@ -89,7 +89,7 @@ struct client *client_create(int fd_in, int fd_out, const char *session_id,
        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 @@ client_command_new(struct client *client)
 
 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)
index d1562e86bd47fb9834642fa8b7a5e6c95e3e25c7..ee2cd3ad546a9a9798bbb9d50c00038a38d0f947 100644 (file)
@@ -375,8 +375,8 @@ static void http_client_connection_destroy(struct connection *_conn)
 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 @@ http_client_connection_return_response(struct http_client_connection *conn,
                        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 @@ _connection_init_from_streams(struct connection_list *list,
        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++;
index e8217fa07f8ec40cfdca862318ab89f611a225c2..fd743d14a8f280db478eedd98600519a82d15c03 100644 (file)
@@ -548,7 +548,6 @@ int http_client_request_send_more(struct http_client_request *req,
        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 @@ int http_client_request_send_more(struct http_client_request *req,
                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;
 }
index 166727f05350dfb52d2769e4619a4d5d3d687058..08aa851268f41981ad1d7ac8e9c0dbb4130e064c 100644 (file)
@@ -63,8 +63,7 @@ got_request_response(const struct http_response *response,
        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);
 }
 
index b2596e075430e426a5edf29c1ed67a29be66f18a..d86c27d5088be670ed03ac04b4d94e0b9446969b 100644 (file)
@@ -394,7 +394,7 @@ int client_create(int fd_in, int fd_out, const char *session_id,
        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 @@ static int client_output(struct client *client)
                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)) {