Mercurial > dovecot > core-2.2
changeset 17191:790afcf05f0d
lib-http: Wrap response payload istream into a istream-timeout.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 03 Apr 2014 19:56:47 +0300 |
parents | e0a3b902cd3f |
children | a1c153c70bb9 |
files | src/lib-http/http-client-connection.c src/plugins/fts-solr/solr-connection.c |
diffstat | 2 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-http/http-client-connection.c Thu Apr 03 19:54:27 2014 +0300 +++ b/src/lib-http/http-client-connection.c Thu Apr 03 19:56:47 2014 +0300 @@ -8,6 +8,7 @@ #include "array.h" #include "ioloop.h" #include "istream.h" +#include "istream-timeout.h" #include "ostream.h" #include "time-util.h" #include "iostream-rawlog.h" @@ -433,7 +434,8 @@ /* wrap the stream to capture the destroy event without destroying the actual payload stream. */ conn->incoming_payload = response->payload = - i_stream_create_limit(response->payload, (uoff_t)-1); + i_stream_create_timeout(response->payload, + conn->client->set.request_timeout_msecs); i_stream_add_destroy_callback(response->payload, http_client_payload_destroyed, req); @@ -1195,5 +1197,7 @@ conn->to_idle = io_loop_move_timeout(&conn->to_idle); if (conn->to_response != NULL) conn->to_response = io_loop_move_timeout(&conn->to_response); + if (conn->incoming_payload != NULL) + i_stream_switch_ioloop(conn->incoming_payload); connection_switch_ioloop(&conn->conn); }
--- a/src/plugins/fts-solr/solr-connection.c Thu Apr 03 19:54:27 2014 +0300 +++ b/src/plugins/fts-solr/solr-connection.c Thu Apr 03 19:56:47 2014 +0300 @@ -391,8 +391,8 @@ i_stream_ref(response->payload); conn->payload = response->payload; - conn->io = io_add(i_stream_get_fd(response->payload), IO_READ, - solr_connection_payload_input, conn); + conn->io = io_add_istream(response->payload, + solr_connection_payload_input, conn); solr_connection_payload_input(conn); }