Modify upcall_fail so that failing tasks relinquish control to the scheduler
This is sufficient to let unsupervised tasks that don't allocate fail without crashing or leaking.
This commit is contained in:
parent
01a52d728c
commit
c99e110119
|
@ -221,6 +221,9 @@ upcall_fail(rust_task *task,
|
||||||
LOG_UPCALL_ENTRY(task);
|
LOG_UPCALL_ENTRY(task);
|
||||||
LOG_ERR(task, upcall, "upcall fail '%s', %s:%" PRIdPTR, expr, file, line);
|
LOG_ERR(task, upcall, "upcall fail '%s', %s:%" PRIdPTR, expr, file, line);
|
||||||
task->fail();
|
task->fail();
|
||||||
|
task->die();
|
||||||
|
task->notify_tasks_waiting_to_join();
|
||||||
|
task->yield(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue