From: Yann Ylavic Date: Fri, 22 Sep 2017 08:07:47 +0000 (+0000) Subject: event, simple, motorz: better naming, error code checking and arrangement X-Git-Tag: 2.5.0-alpha~107 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7bb1250a841884c1362480848724998b1009c55c;p=apache event, simple, motorz: better naming, error code checking and arrangement around pending output data handing; no functional change. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1809276 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/mpm/event/event.c b/server/mpm/event/event.c index a2f0660588..d61c85e6a7 100644 --- a/server/mpm/event/event.c +++ b/server/mpm/event/event.c @@ -1065,16 +1065,12 @@ read_request: } if (cs->pub.state == CONN_STATE_WRITE_COMPLETION) { - int not_complete_yet; + int pending; ap_update_child_status(cs->sbh, SERVER_BUSY_WRITE, NULL); - not_complete_yet = ap_run_output_pending(c); - - if (not_complete_yet > OK) { - cs->pub.state = CONN_STATE_LINGER; - } - else if (not_complete_yet == OK) { + pending = ap_run_output_pending(c); + if (pending == OK) { /* Still in WRITE_COMPLETION_STATE: * Set a write timeout for this connection, and let the * event thread poll for writeability. @@ -1102,8 +1098,10 @@ read_request: } return; } - else if (c->keepalive != AP_CONN_KEEPALIVE || c->aborted || - listener_may_exit) { + if (pending != DECLINED + || c->aborted + || c->keepalive != AP_CONN_KEEPALIVE + || listener_may_exit) { cs->pub.state = CONN_STATE_LINGER; } else if (c->data_in_input_filters || ap_run_input_pending(c) == OK) { diff --git a/server/mpm/motorz/motorz.c b/server/mpm/motorz/motorz.c index 93e54f9848..b0ffc4d1cb 100644 --- a/server/mpm/motorz/motorz.c +++ b/server/mpm/motorz/motorz.c @@ -397,19 +397,15 @@ read_request: } if (scon->cs.state == CONN_STATE_WRITE_COMPLETION) { - int not_complete_yet; + int pending; ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, ap_server_conf, APLOGNO(03331) "motorz_io_process(): CONN_STATE_WRITE_COMPLETION"); ap_update_child_status(scon->sbh, SERVER_BUSY_WRITE, NULL); - not_complete_yet = ap_run_output_pending(c); - - if (not_complete_yet > OK) { - scon->cs.state = CONN_STATE_LINGER; - } - else if (not_complete_yet == OK) { + pending = ap_run_output_pending(c); + if (pending == OK) { /* Still in WRITE_COMPLETION_STATE: * Set a write timeout for this connection, and let the * event thread poll for writeability. @@ -432,7 +428,9 @@ read_request: } return APR_SUCCESS; } - else if (c->keepalive != AP_CONN_KEEPALIVE || c->aborted) { + if (pending != DECLINED + || c->keepalive != AP_CONN_KEEPALIVE + || c->aborted) { scon->cs.state = CONN_STATE_LINGER; } else if (c->data_in_input_filters || ap_run_input_pending(c) == OK) { diff --git a/server/mpm/simple/simple_io.c b/server/mpm/simple/simple_io.c index 3526eba10f..19f5af136b 100644 --- a/server/mpm/simple/simple_io.c +++ b/server/mpm/simple/simple_io.c @@ -93,15 +93,11 @@ static apr_status_t simple_io_process(simple_conn_t * scon) } if (scon->cs.state == CONN_STATE_WRITE_COMPLETION) { - int not_complete_yet; + int pending; ap_update_child_status(c->sbh, SERVER_BUSY_WRITE, NULL); - not_complete_yet = ap_run_output_pending(c); - - if (not_complete_yet > OK) { - scon->cs.state = CONN_STATE_LINGER; - } - else if (not_complete_yet == OK) { + pending = ap_run_output_pending(c); + if (pending == OK) { /* Still in WRITE_COMPLETION_STATE: * Set a write timeout for this connection, and let the * event thread poll for writeability. @@ -130,7 +126,9 @@ static apr_status_t simple_io_process(simple_conn_t * scon) } return APR_SUCCESS; } - else if (c->keepalive != AP_CONN_KEEPALIVE || c->aborted) { + if (pending != DECLINED + || c->keepalive != AP_CONN_KEEPALIVE + || c->aborted) { scon->cs.state = CONN_STATE_LINGER; } else if (c->data_in_input_filters || ap_run_input_pending(c) == OK) {