waitInMainThread may fail to terminate if the future waited on is rejected
kring opened this issue · comments
Kevin Ring commented
If you call waitInMainThread
on a Future, and then that Future rejects, the waitInMainThread
may never return. The problem is that QueuedScheduler::dispatchUntilTaskCompletes
registers for task completion with a .then
continuation, which isn't called when the task rejects. Fixing this may be as simple as using the overload of .then
that takes a async::task
instead of the resolved value.