diff options
| author | Brian Anderson <banderson@mozilla.com> | 2013-08-09 17:28:27 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2013-08-09 17:28:27 -0700 |
| commit | b473ce304f1d59036bc25fe5f65a22817c9d44fe (patch) | |
| tree | fbb9fb06f496ba8ba8f9d99b41ef4a97a10a09d1 | |
| parent | c20b90647e3378cabd8975026637b60b7e40bec4 (diff) | |
| download | rust-b473ce304f1d59036bc25fe5f65a22817c9d44fe.tar.gz rust-b473ce304f1d59036bc25fe5f65a22817c9d44fe.zip | |
rustc: Obey RUST_MIN_STACK env var
A lot of people are hitting stack overflows in rustc. This will make it easier to experiment with stack size.
| -rw-r--r-- | src/librustc/rustc.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/librustc/rustc.rs b/src/librustc/rustc.rs index 369045500ad..625a4aec544 100644 --- a/src/librustc/rustc.rs +++ b/src/librustc/rustc.rs @@ -319,7 +319,13 @@ pub fn monitor(f: ~fn(diagnostic::Emitter)) { let ch_capture = ch.clone(); let mut task_builder = task::task(); task_builder.supervised(); - task_builder.opts.stack_size = Some(STACK_SIZE); + + // XXX: Hacks on hacks. If the env is trying to override the stack size + // then *don't* set it explicitly. + if os::getenv("RUST_MIN_STACK").is_none() { + task_builder.opts.stack_size = Some(STACK_SIZE); + } + match do task_builder.try { let ch = ch_capture.clone(); let ch_capture = ch.clone(); |
