dovecot-2.2: lib-http: Wrap response payload istream into a istr...
dovecot at dovecot.org
dovecot at dovecot.org
Thu Apr 3 16:56:56 UTC 2014
details: http://hg.dovecot.org/dovecot-2.2/rev/790afcf05f0d
changeset: 17191:790afcf05f0d
user: Timo Sirainen <tss at iki.fi>
date: Thu Apr 03 19:56:47 2014 +0300
description:
lib-http: Wrap response payload istream into a istream-timeout.
diffstat:
src/lib-http/http-client-connection.c | 6 +++++-
src/plugins/fts-solr/solr-connection.c | 4 ++--
2 files changed, 7 insertions(+), 3 deletions(-)
diffs (43 lines):
diff -r e0a3b902cd3f -r 790afcf05f0d src/lib-http/http-client-connection.c
--- 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);
}
diff -r e0a3b902cd3f -r 790afcf05f0d src/plugins/fts-solr/solr-connection.c
--- 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);
}
More information about the dovecot-cvs
mailing list