Hi,
Le 30/10/2015 12:29, [email protected] a écrit :
Author: icing
Date: Fri Oct 30 11:29:50 2015
New Revision: 1711451
URL: http://svn.apache.org/viewvc?rev=1711451&view=rev
Log:
fixing unbuffered output handling for h2c
Modified: httpd/httpd/trunk/modules/http2/h2_conn_io.c
URL:
http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_conn_io.c?rev=1711451&r1=1711450&r2=1711451&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/http2/h2_conn_io.c (original)
+++ httpd/httpd/trunk/modules/http2/h2_conn_io.c Fri Oct 30 11:29:50 2015
[...]
@@ -297,12 +304,20 @@ apr_status_t h2_conn_io_write(h2_conn_io
}
}
+ else if (1) {
+ apr_bucket *b;
+
+ ap_log_cerror(APLOG_MARK, APLOG_TRACE2, status, io->connection,
+ "h2_conn_io: passing %ld transient bytes to output
filters",
+ (long)length);
+ b = apr_bucket_transient_create(buf,length, io->output->bucket_alloc);
+ APR_BRIGADE_INSERT_TAIL(io->output, b);
+ status = pass_out(io->output, io);
+ }
else {
+ ap_log_cerror(APLOG_MARK, APLOG_TRACE2, status, io->connection,
+ "h2_conn_io: writing %ld bytes to brigade",
(long)length);
status = apr_brigade_write(io->output, pass_out, io, buf, length);
- if (status != APR_SUCCESS) {
- ap_log_cerror(APLOG_MARK, APLOG_DEBUG, status, io->connection,
- "h2_conn_io: write error");
- }
}
return status;
Is the 'if (1)' intentional or a left-over?
Modified: httpd/httpd/trunk/modules/http2/h2_session.c
URL:
http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_session.c?rev=1711451&r1=1711450&r2=1711451&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/http2/h2_session.c (original)
+++ httpd/httpd/trunk/modules/http2/h2_session.c Fri Oct 30 11:29:50 2015
@@ -249,6 +249,8 @@ static int before_frame_send_cb(nghttp2_
case NGHTTP2_GOAWAY:
session->flush = 1;
break;
+ case NGHTTP2_DATA:
+
default:
break;
Is this intentional or a break, some code or a /* Fall through */ is
missing?
CJ