When failing, we need to explicitly set the connection state.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1897336 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Graham Leggett
2022-01-22 12:09:12 +00:00
parent 5c55d4c060
commit 384b51f21f
2 changed files with 5 additions and 2 deletions

View File

@ -714,6 +714,8 @@ static int ssl_hook_process_connection(conn_rec* c)
/* Take advantage of an async MPM. If we see an EAGAIN,
* loop round and don't block.
*/
conn_state_t *cs = c->cs;
apr_status_t rv;
rv = ap_get_brigade(c->input_filters, temp,
@ -731,7 +733,8 @@ static int ssl_hook_process_connection(conn_rec* c)
/* we failed, give up */
status = DONE;
c->aborted = 1;
cs->state = CONN_STATE_LINGER;
}
}
else {

View File

@ -1434,7 +1434,7 @@ static void start_connect(struct connection * c)
}
#endif
if ((rv = apr_socket_connect(c->aprsock, destsa)) != APR_SUCCESS) {
if (APR_STATUS_IS_EINPROGRESS(rv)) {
if (APR_STATUS_IS_EINPROGRESS(rv) || APR_STATUS_IS_EINTR(rv)) {
set_conn_state(c, STATE_CONNECTING);
c->rwrite = 0;
return;