(channel_is_empty(oc) && !oc->to_forward)))))) {
task_wakeup(task, TASK_WOKEN_IO);
}
- else {
- /* Update expiration date for the task and requeue it */
- task->expire = tick_first((tick_is_expired(task->expire, now_ms) ? 0 : task->expire),
- tick_first(tick_first(sc_ep_rex(sc), sc_ep_wex(sc)),
- tick_first(sc_ep_rex(sco), sc_ep_wex(sco))));
-
- task->expire = tick_first(task->expire, ic->analyse_exp);
- task->expire = tick_first(task->expire, oc->analyse_exp);
- task->expire = tick_first(task->expire, __sc_strm(sc)->conn_exp);
- task_queue(task);
- }
if (ic->flags & CF_READ_EVENT)
ic->flags &= ~CF_READ_DONTWAIT;
}