Skip to content

Commit

Permalink
v1.10.1 from apache svn 2.4.x branch
Browse files Browse the repository at this point in the history
  • Loading branch information
Stefan Eissing committed Apr 10, 2017
1 parent a8ab671 commit bc77386
Show file tree
Hide file tree
Showing 20 changed files with 1,016 additions and 606 deletions.
8 changes: 8 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
v1.10.1
--------------------------------------------------------------------------------
* Fixed bug in re-attempting proxy requests after connection error.
Reliability of reconnect handling improved.
* Fixed two rare deadlocks with new non-nested mutex use.
* No longer mapping Link: header urls in proxy requests when preserve host
is set.

v1.10.0
--------------------------------------------------------------------------------
* better performance, eliminated need for nested locks and
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#

AC_PREREQ([2.69])
AC_INIT([mod_http2], [1.10.0], [[email protected]])
AC_INIT([mod_http2], [1.10.1], [[email protected]])

LT_PREREQ([2.2.6])
LT_INIT()
Expand Down
4 changes: 4 additions & 0 deletions mod_http2/h2_bucket_beam.c
Original file line number Diff line number Diff line change
Expand Up @@ -1035,7 +1035,11 @@ apr_status_t h2_beam_receive(h2_bucket_beam *beam,
++transferred;
}
else {
/* let outside hook determine how bucket is beamed */
leave_yellow(beam, &bl);
brecv = h2_beam_bucket(beam, bb, bsender);
enter_yellow(beam, &bl);

while (brecv && brecv != APR_BRIGADE_SENTINEL(bb)) {
++transferred;
remain -= brecv->length;
Expand Down
31 changes: 17 additions & 14 deletions mod_http2/h2_filter.c
Original file line number Diff line number Diff line change
Expand Up @@ -428,38 +428,41 @@ static void add_stats(apr_bucket_brigade *bb, h2_session *s,

static apr_status_t h2_status_insert(h2_task *task, apr_bucket *b)
{
h2_mplx *m = task->mplx;
h2_stream *stream = h2_mplx_stream_get(m, task->stream_id);
h2_session *s;
conn_rec *c;

conn_rec *c = task->c->master;
h2_ctx *h2ctx = h2_ctx_get(c, 0);
h2_session *session;
h2_stream *stream;
apr_bucket_brigade *bb;
apr_bucket *e;
int32_t connFlowIn, connFlowOut;


if (!h2ctx || (session = h2_ctx_session_get(h2ctx)) == NULL) {
return APR_SUCCESS;
}

stream = h2_session_stream_get(session, task->stream_id);
if (!stream) {
/* stream already done */
return APR_SUCCESS;
}
s = stream->session;
c = s->c;

bb = apr_brigade_create(stream->pool, c->bucket_alloc);

connFlowIn = nghttp2_session_get_effective_local_window_size(s->ngh2);
connFlowOut = nghttp2_session_get_remote_window_size(s->ngh2);
connFlowIn = nghttp2_session_get_effective_local_window_size(session->ngh2);
connFlowOut = nghttp2_session_get_remote_window_size(session->ngh2);

bbout(bb, "{\n");
bbout(bb, " \"version\": \"draft-01\",\n");
add_settings(bb, s, 0);
add_peer_settings(bb, s, 0);
add_settings(bb, session, 0);
add_peer_settings(bb, session, 0);
bbout(bb, " \"connFlowIn\": %d,\n", connFlowIn);
bbout(bb, " \"connFlowOut\": %d,\n", connFlowOut);
bbout(bb, " \"sentGoAway\": %d,\n", s->local.shutdown);
bbout(bb, " \"sentGoAway\": %d,\n", session->local.shutdown);

add_streams(bb, s, 0);
add_streams(bb, session, 0);

add_stats(bb, s, stream, 1);
add_stats(bb, session, stream, 1);
bbout(bb, "}\n");

while ((e = APR_BRIGADE_FIRST(bb)) != APR_BRIGADE_SENTINEL(bb)) {
Expand Down
Loading

0 comments on commit bc77386

Please sign in to comment.