Author: rhuijben
Date: Fri Nov 27 11:56:41 2015
New Revision: 1716854
URL: http://svn.apache.org/viewvc?rev=1716854&view=rev
Log:
Move the stop-writing handling (for ssl negotiate states) to the connections,
to avoid having to look at these in each protocol case.
* incoming.c
(serf__process_client): Introduce here.
* outgoing.c
(read_from_connection): Move from here...
(process_connection): ... to here.
* protocols/http2_protocol.c
(http2_outgoing_read,
http2_incoming_read): Remove here.
Modified:
serf/trunk/incoming.c
serf/trunk/outgoing.c
serf/trunk/protocols/http2_protocol.c
Modified: serf/trunk/incoming.c
URL:
http://svn.apache.org/viewvc/serf/trunk/incoming.c?rev=1716854&r1=1716853&r2=1716854&view=diff
==============================================================================
--- serf/trunk/incoming.c (original)
+++ serf/trunk/incoming.c Fri Nov 27 11:56:41 2015
@@ -429,6 +429,13 @@ apr_status_t serf__process_client(serf_i
}
if ((events & APR_POLLIN) != 0) {
+ /* If the stop_writing flag was set on the connection, reset it
+ now because there is some data to read. */
+ if (client->pump.stop_writing) {
+ client->pump.stop_writing = false;
+ serf_io__set_pollset_dirty(&client->io);
+ }
+
status = client->perform_read(client);
if (status) {
return status;
Modified: serf/trunk/outgoing.c
URL:
http://svn.apache.org/viewvc/serf/trunk/outgoing.c?rev=1716854&r1=1716853&r2=1716854&view=diff
==============================================================================
--- serf/trunk/outgoing.c (original)
+++ serf/trunk/outgoing.c Fri Nov 27 11:56:41 2015
@@ -796,13 +796,6 @@ static apr_status_t read_from_connection
apr_pool_t *tmppool;
apr_status_t close_connection = APR_SUCCESS;
- /* If the stop_writing flag was set on the connection, reset it now because
- there is some data to read. */
- if (conn->pump.stop_writing) {
- conn->pump.stop_writing = false;
- serf_io__set_pollset_dirty(&conn->io);
- }
-
/* assert: request != NULL */
if ((status = apr_pool_create(&tmppool, conn->pool)) != APR_SUCCESS)
@@ -1092,6 +1085,13 @@ static apr_status_t process_connection(s
if ((events & APR_POLLIN) != 0
&& !conn->wait_for_connect) {
+ /* If the stop_writing flag was set on the connection, reset it now
+ because there is some data to read. */
+ if (conn->pump.stop_writing) {
+ conn->pump.stop_writing = false;
+ serf_io__set_pollset_dirty(&conn->io);
+ }
+
if ((status = conn->perform_read(conn)) != APR_SUCCESS)
return status;
Modified: serf/trunk/protocols/http2_protocol.c
URL:
http://svn.apache.org/viewvc/serf/trunk/protocols/http2_protocol.c?rev=1716854&r1=1716853&r2=1716854&view=diff
==============================================================================
--- serf/trunk/protocols/http2_protocol.c (original)
+++ serf/trunk/protocols/http2_protocol.c Fri Nov 27 11:56:41 2015
@@ -1648,14 +1648,6 @@ http2_outgoing_read(serf_connection_t *c
serf_http2_protocol_t *h2 = conn->protocol_baton;
apr_status_t status;
- /* If the stop_writing flag was set on the connection, reset it now because
- there is some data to read. */
- if (conn->pump.stop_writing)
- {
- conn->pump.stop_writing = false;
- serf_io__set_pollset_dirty(&conn->io);
- }
-
status = http2_process(h2);
if (!status)
@@ -1750,14 +1742,6 @@ http2_incoming_read(serf_incoming_t *cli
apr_status_t status;
serf_http2_protocol_t *h2 = client->protocol_baton;
- /* If the stop_writing flag was set on the connection, reset it now because
- there is some data to read. */
- if (client->pump.stop_writing)
- {
- client->pump.stop_writing = false;
- serf_io__set_pollset_dirty(&client->io);
- }
-
if (h2->prefix_left) {
serf_bucket_t *stream;