<div>Hi all.</div><div><br></div>My nginx version is svn trunk.<div><br></div><div>Nginx will call ngx_handle_read_event, and then call ngx_http_read_discarded_request_body In ngx_http_discard_request_body .  So this will cause client's body read  incomplete data , <span class="Apple-style-span" style="font-family: 'Microsoft YaHei'; font-size: 13px; white-space: nowrap; ">because </span>ngx_handle_read_event may delete read event when use level event.</div>

<div><br></div><div>ngx_handle_read_event:</div><div><br></div><div><div>else if (ngx_event_flags & NGX_USE_LEVEL_EVENT) {</div><div><br></div><div>        /* select, poll, /dev/poll */</div><div>.................................................................</div>

<div><br></div><div>        if (rev->active && (rev->ready || (flags & NGX_CLOSE_EVENT))) {</div><div>            if (ngx_del_event(rev, NGX_READ_EVENT, NGX_LEVEL_EVENT | flags)</div><div>                == NGX_ERROR)</div>

<div>            {</div><div>                return NGX_ERROR;</div><div>            }</div><div><br></div><div>            return NGX_OK;</div><div>        }</div></div><div><br></div><div><br></div><div>ngx_http_discard_request_body:</div>

<div><br></div><div><div>    r->read_event_handler = ngx_http_discarded_request_body_handler;</div><div><br></div><div>    if (ngx_handle_read_event(rev, 0) != NGX_OK) {</div><div>        return NGX_HTTP_INTERNAL_SERVER_ERROR;</div>

<div>    }</div><div><br></div><div><div>    if (ngx_http_read_discarded_request_body(r) == NGX_OK) {</div><div>        r->lingering_close = 0;</div></div><div><br></div><div><br></div><div>thanks!</div><div><br></div>

-- <br>博观约取<br><br>豆瓣:<a href="http://www.douban.com/people/mustang/" target="_blank">www.douban.com/people/mustang/</a><br><br>blog: <a href="http://www.pagefault.info" target="_blank">www.pagefault.info</a><br><br>twitter: <a href="http://www.twitter.com/minibobo" target="_blank">www.twitter.com/minibobo</a><br>

<br>sina 微博:  <a href="http://www.weibo.com/diaoliang" target="_blank">www.weibo.com/diaoliang</a><br><br>
</div>