forked from Hakase/nginx-build
Latest update - 7345
This commit is contained in:
@@ -249,34 +249,40 @@ ngx_stream_core_preread_phase(ngx_stream_session_t *s,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!c->read->ready) {
|
if (!c->read->ready) {
|
||||||
if (ngx_handle_read_event(c->read, 0) != NGX_OK) {
|
break;
|
||||||
rc = NGX_ERROR;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!c->read->timer_set) {
|
|
||||||
ngx_add_timer(c->read, cscf->preread_timeout);
|
|
||||||
}
|
|
||||||
|
|
||||||
c->read->handler = ngx_stream_session_handler;
|
|
||||||
|
|
||||||
return NGX_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
n = c->recv(c, c->buffer->last, size);
|
n = c->recv(c, c->buffer->last, size);
|
||||||
|
|
||||||
if (n == NGX_ERROR) {
|
if (n == NGX_ERROR || n == 0) {
|
||||||
rc = NGX_STREAM_OK;
|
rc = NGX_STREAM_OK;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (n > 0) {
|
if (n == NGX_AGAIN) {
|
||||||
c->buffer->last += n;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
c->buffer->last += n;
|
||||||
|
|
||||||
rc = ph->handler(s);
|
rc = ph->handler(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (rc == NGX_AGAIN) {
|
||||||
|
if (ngx_handle_read_event(c->read, 0) != NGX_OK) {
|
||||||
|
ngx_stream_finalize_session(s, NGX_STREAM_INTERNAL_SERVER_ERROR);
|
||||||
|
return NGX_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!c->read->timer_set) {
|
||||||
|
ngx_add_timer(c->read, cscf->preread_timeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
c->read->handler = ngx_stream_session_handler;
|
||||||
|
|
||||||
|
return NGX_OK;
|
||||||
|
}
|
||||||
|
|
||||||
if (c->read->timer_set) {
|
if (c->read->timer_set) {
|
||||||
ngx_del_timer(c->read);
|
ngx_del_timer(c->read);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user