diff options
| author | bors <bors@rust-lang.org> | 2013-04-27 16:24:34 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-04-27 16:24:34 -0700 |
| commit | 88dd53a75441d25a060fb7dc7131ea3772383562 (patch) | |
| tree | e547dfa01cda27dcef11ba9af5e40c61fa0aa3f0 /src/rt/rust_task.cpp | |
| parent | 9f118865a207cb4a64aa3dac81ae74ba1f7bba69 (diff) | |
| parent | 149047e55d8eace3ea9d005905577f17b25c54e2 (diff) | |
| download | rust-88dd53a75441d25a060fb7dc7131ea3772383562.tar.gz rust-88dd53a75441d25a060fb7dc7131ea3772383562.zip | |
auto merge of #6081 : brson/rust/out-of-stack, r=thestinger
People hit the recursion depth limit too often, it's not possible to unwind reliably from out-of-stack. Issues #3555, #3695
Diffstat (limited to 'src/rt/rust_task.cpp')
| -rw-r--r-- | src/rt/rust_task.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp index 7e146cce68e..e6293aa5c1d 100644 --- a/src/rt/rust_task.cpp +++ b/src/rt/rust_task.cpp @@ -530,11 +530,11 @@ rust_task::new_stack(size_t requested_sz) { // arbitrarily selected as 2x the maximum stack size. if (!unwinding && used_stack > max_stack) { LOG_ERR(this, task, "task %" PRIxPTR " ran out of stack", this); - fail(); + abort(); } else if (unwinding && used_stack > max_stack * 2) { LOG_ERR(this, task, "task %" PRIxPTR " ran out of stack during unwinding", this); - fail(); + abort(); } size_t sz = rust_stk_sz + RED_ZONE_SIZE; |
