Commit ebb512db authored by Yann Ylavic's avatar Yann Ylavic
Browse files

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
parent 8fda0db5
Loading
Loading
Loading
Loading
+7 −9
Original line number Diff line number Diff line
@@ -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) {
+6 −8
Original line number Diff line number Diff line
@@ -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) {
+6 −8
Original line number Diff line number Diff line
@@ -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) {