internal void _dispatch(Future future)
{
try
{
if (future.isCancelled())
{
return;
}
if (m_pool.m_killed)
{
future.cancel(); return;
}
future.set(receive(future.m_msg));
}
catch (Err.Val e)
{
future.err(e.m_err);
}
catch (System.Exception e)
{
future.err(Err.make(e));
}
}