You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ic...@apache.org on 2017/03/29 06:31:47 UTC

svn commit: r1789276 - in /httpd/httpd/trunk/modules/http2: h2_util.c h2_workers.c

Author: icing
Date: Wed Mar 29 06:31:46 2017
New Revision: 1789276

URL: http://svn.apache.org/viewvc?rev=1789276&view=rev
Log:
On the trunk:

mod_http2 after review by Christophe:
  * fix h2_fifo_peek to properly block
  * check peek return status while processing mplx queue


Modified:
    httpd/httpd/trunk/modules/http2/h2_util.c
    httpd/httpd/trunk/modules/http2/h2_workers.c

Modified: httpd/httpd/trunk/modules/http2/h2_util.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_util.c?rev=1789276&r1=1789275&r2=1789276&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/http2/h2_util.c (original)
+++ httpd/httpd/trunk/modules/http2/h2_util.c Wed Mar 29 06:31:46 2017
@@ -846,7 +846,7 @@ static apr_status_t fifo_peek(h2_fifo *f
 
 apr_status_t h2_fifo_peek(h2_fifo *fifo, h2_fifo_peek_fn *fn, void *ctx)
 {
-    return fifo_peek(fifo, fn, ctx, 0);
+    return fifo_peek(fifo, fn, ctx, 1);
 }
 
 apr_status_t h2_fifo_try_peek(h2_fifo *fifo, h2_fifo_peek_fn *fn, void *ctx)

Modified: httpd/httpd/trunk/modules/http2/h2_workers.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_workers.c?rev=1789276&r1=1789275&r2=1789276&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/http2/h2_workers.c (original)
+++ httpd/httpd/trunk/modules/http2/h2_workers.c Wed Mar 29 06:31:46 2017
@@ -134,6 +134,9 @@ static apr_status_t get_next(h2_slot *sl
     while (!slot->aborted) {
         if (!slot->task) {
             status = h2_fifo_try_peek(workers->mplxs, mplx_peek, slot);
+            if (status == APR_EOF) {
+                return status;
+            }
         }
         
         if (slot->task) {