Skip to content

Commit b36ce51

Browse files
committed
---
yaml --- r: 6804 b: refs/heads/master c: f57fd8d h: refs/heads/master v: v3
1 parent 54a27c3 commit b36ce51

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
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: 74d5faa86e1bd1fc678ae3e5aee49e8445470002
2+
refs/heads/master: f57fd8de1f771b48055e665950dc678fbaf38de1

trunk/src/rt/rust_task.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,9 @@ void task_start_wrapper(spawn_args *a)
284284
failed = true;
285285
}
286286

287-
cc::do_cc(task);
287+
// We're on the Rust stack and the cycle collector may recurse arbitrarily
288+
// deep, so switch to the C stack
289+
task->sched->c_context.call_shim_on_c_stack(task, (void*)cc::do_cc);
288290

289291
rust_closure_env* env = (rust_closure_env*)a->a3;
290292
if(env) {

0 commit comments

Comments
 (0)