On 1/12/15, 2:36 PM, Mike Christie wrote:
On 01/12/2015 01:59 PM, Andy Grover wrote:
An executing actor can call actor_schedule() (either with a zero or
nonzero delay) to run another actor. If the delay is zero then the new
actor will be run before the current invocation of actor_poll() exits.
Doh. My eyes must have been cross eyed at 2 that day. You are right.
Merged. Thanks.
Hey Andy,
This seems to add a regression. If we loose the connection to the target
and it is not reachable, then we will do EV_CONN_POLL. The ep_poll will
fail, reschedule and immediately run again like you described above, so
it is like doing:
while (ep_poll() == 0)
;
CPU use then jumps since we are just doing that non stop.
To replicate just have us log into a LIO target, then shutdown the box
running LIO. When it shuts down you will hit this problem.
I tried to just do:
case EV_CONN_POLL:
- actor_init(&ev_context->actor, session_conn_poll,
- ev_context);
- actor_schedule(&ev_context->actor);
+ actor_timer(&ev_context->actor, 1, session_conn_poll,
+ ev_context);
break;
thinking it would retry the poll in a second, but it ends up taking
login_timeout seconds instead. For some reason, the new timer I am
trying to set is not getting set to before the existing login_timer in.
--
You received this message because you are subscribed to the Google Groups
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to open-iscsi+unsubscr...@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at http://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/d/optout.