Switching back to the last task to switch to you might be the right thing.
Even if that last task is not runnable, it is inside yield() where it can
pick a different task to try running instead.
On Feb 5, 2014 1:29 PM, "Jameson Nash" <notifications@github.com> wrote:

> In src/task.c:
>
> > @@ -736,21 +730,15 @@ void NORETURN throw_internal(jl_value_t *e)
> >          jl_longjmp(jl_current_task->eh->eh_ctx, 1);
> >      }
> >      else {
> > +        JL_PRINTF(JL_STDERR, "fatal: error thrown and no exception handler available.\n");
>
> what if we used the old behavior, but only if t.runnable = true? thus it
> would be ok to switch back to a task after an explicit yieldto (leaving t.runnable
> = true), but nothing would happen if the task was waiting for some signal?
>
> --
> Reply to this email directly or view it on GitHub<https://github.com/JuliaLang/julia/pull/5687/files#r9471791>
> .
>