Skip to content

Commit 4402565

Browse files
committed
---
yaml --- r: 5170 b: refs/heads/master c: bb08ffb h: refs/heads/master v: v3
1 parent 2c5f5af commit 4402565

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 1339d0543407d653842503704642fb34f8e6a82d
2+
refs/heads/master: bb08ffbaf436e291b4be5cf7a471dda9744bfade

trunk/src/rt/rust_task.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ rust_task::fail() {
244244
// See note in ::kill() regarding who should call this.
245245
DLOG(sched, task, "task %s @0x%" PRIxPTR " failing", name, this);
246246
backtrace();
247+
die();
247248
// Unblock the task so it can unwind.
248249
unblock();
249250
if (supervisor) {
@@ -257,6 +258,8 @@ rust_task::fail() {
257258
if (NULL == supervisor && propagate_failure)
258259
sched->fail();
259260
failed = true;
261+
notify_tasks_waiting_to_join();
262+
yield(4);
260263
}
261264

262265
void

trunk/src/rt/rust_upcall.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,7 @@ upcall_fail(rust_task *task,
9292
size_t line) {
9393
LOG_UPCALL_ENTRY(task);
9494
LOG_ERR(task, upcall, "upcall fail '%s', %s:%" PRIdPTR, expr, file, line);
95-
task->die();
9695
task->fail();
97-
task->notify_tasks_waiting_to_join();
98-
task->yield(4);
9996
}
10097

10198
/**

0 commit comments

Comments
 (0)