/* 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,
/* we failed, give up */
status = DONE;
- c->aborted = 1;
+ cs->state = CONN_STATE_LINGER;
+
}
}
else {
}
#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;