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:
Brian Anderson 2011-07-14 18:49:18 -07:00
parent 01a52d728c
commit c99e110119
1 changed files with 3 additions and 0 deletions

View File

@ -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);
} }
/** /**