location, &host_change);
if (do_connect_host(c, location) == zoom_complete)
return; /* connect failed.. */
+ cs_rcvconnect(c->cs);
send_HTTP_redirect(c, location);
return;
}
if (c->cs->io_pending & CS_WANT_READ)
mask += ZOOM_SELECT_READ;
ZOOM_connection_set_mask(c, mask);
- event = ZOOM_Event_create(ZOOM_EVENT_NONE);
+ event = ZOOM_Event_create(ZOOM_EVENT_CONNECT);
ZOOM_connection_put_event(c, event);
}
else if (ret == 0)
else
{
/* no init request for SRW .. */
- assert(c->tasks->which == ZOOM_TASK_CONNECT);
- ZOOM_connection_remove_task(c);
- ZOOM_connection_set_mask(c, 0);
+ if (c->tasks->which == ZOOM_TASK_CONNECT)
+ {
+ ZOOM_connection_remove_task(c);
+ ZOOM_connection_set_mask(c, 0);
+ }
ZOOM_connection_exec_task(c);
}
c->state = STATE_ESTABLISHED;