@ -295,10 +295,11 @@ static void memcached_connect(liMemcachedCon *con) {
case EINPROGRESS:
case EALREADY:
case EINTR:
case EISCONN:
memcached_start_io(con);
li_ev_io_add_events(con->loop, &con->con_watcher, EV_READ | EV_WRITE);
break;
default:
g_clear_error(&con->err);
g_set_error(&con->err, LI_MEMCACHED_ERROR, LI_MEMCACHED_CONNECTION, "Couldn't connect to '%s': %s",
@ -683,13 +683,14 @@ static liHandlerResult fastcgi_statemachine(liVRequest *vr, fastcgi_connection *
fcon->state = FS_CONNECTING;
return LI_HANDLER_GO_ON;
case EAGAIN: /* backend overloaded */
fastcgi_close(vr, p);
li_vrequest_backend_overloaded(vr);
if (errno != g_atomic_int_get(&fcon->ctx->last_errno)) {
g_atomic_int_set(&fcon->ctx->last_errno, errno);
@ -330,13 +330,14 @@ static liHandlerResult proxy_statemachine(liVRequest *vr, proxy_connection *pcon
pcon->state = SS_CONNECTING;
proxy_close(vr, p);
VR_ERROR(vr, "Couldn't connect to '%s': %s",
li_sockaddr_to_string(pcon->ctx->socket, vr->wrk->tmp_str, TRUE)->str,
@ -436,13 +436,14 @@ static liHandlerResult scgi_statemachine(liVRequest *vr, scgi_connection *scon)
scon->state = SS_CONNECTING;
scgi_close(vr, p);
li_sockaddr_to_string(scon->ctx->socket, vr->wrk->tmp_str, TRUE)->str,