summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
96550b1)
- when connecting delayed also set the connect start timeout and stop the connection faied timer.
static void
set_start_callback(struct ev_loop *loop, AsyncIO *IO, 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:
switch(IO->NextState) {
case eReadMore:
case eReadMessage:
- if ((err == 0) && (so_err == 111))
+ if ((err == 0) && (so_err != 0))
{
EV_syslog(LOG_DEBUG, "connect() failed [%d][%s]\n",
so_err,
{
EV_syslog(LOG_DEBUG, "connect() failed [%d][%s]\n",
so_err,
if (rc >= 0){
EVM_syslog(LOG_DEBUG, "connect() immediate success.\n");
set_start_callback(event_base, IO, 0);
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) {
return IO->NextState;
}
else if (errno == EINPROGRESS) {