X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fevent_client.c;h=c02f3bbea048bdde5a01d9b36ef353d1f4fc84a5;hb=50282d90a500efdd211a41c3bf92be283ec597d1;hp=2f6f0856d6d66dc5ba084677105e99aa2e4788dc;hpb=96550b1cc37f3d78294a2bb6d860be7e5867872f;p=citadel.git diff --git a/citadel/event_client.c b/citadel/event_client.c index 2f6f0856d..c02f3bbea 100644 --- a/citadel/event_client.c +++ b/citadel/event_client.c @@ -591,6 +591,9 @@ IO_send_callback(struct ev_loop *loop, ev_io *watcher, int revents) static void set_start_callback(struct ev_loop *loop, AsyncIO *IO, int revents) { + ev_timer_stop(event_base, &IO->conn_fail); + ev_timer_start(event_base, &IO->rw_timeout); + switch(IO->NextState) { case eReadMore: case eReadMessage: @@ -722,7 +725,7 @@ IO_connestd_callback(struct ev_loop *loop, ev_io *watcher, int revents) (void*)&so_err, &lon); - if ((err == 0) && (so_err == 111)) + if ((err == 0) && (so_err != 0)) { EV_syslog(LOG_DEBUG, "connect() failed [%d][%s]\n", so_err, @@ -948,7 +951,6 @@ eNextState EvConnectSock(AsyncIO *IO, if (rc >= 0){ EVM_syslog(LOG_DEBUG, "connect() immediate success.\n"); set_start_callback(event_base, IO, 0); - ev_timer_start(event_base, &IO->rw_timeout); return IO->NextState; } else if (errno == EINPROGRESS) {