We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 64175b7 commit 56fa647Copy full SHA for 56fa647
include/async++/task_base.h
@@ -489,10 +489,7 @@ void unwrapped_finish(task_base* parent_base, Child child_task)
489
// Set up a continuation on the child to set the result of the parent
490
LIBASYNC_TRY {
491
parent_base->add_ref();
492
-
493
- // We can't use inline_scheduler here because a long chain of unwrapped
494
- // tasks could cause a stack overflow.
495
- child_task.then(unwrapped_func<Result, Child>(task_ptr(parent_base)));
+ child_task.then(inline_scheduler(), unwrapped_func<Result, Child>(task_ptr(parent_base)));
496
} LIBASYNC_CATCH(...) {
497
// Use cancel_base here because the function object is already destroyed.
498
static_cast<task_result<Result>*>(parent_base)->cancel_base(std::current_exception());
0 commit comments