about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNiels Sascha Reedijk <niels.reedijk@gmail.com>2018-06-24 09:16:08 +0200
committerNiels Sascha Reedijk <niels.reedijk@gmail.com>2018-06-24 11:14:22 +0200
commitb70305fc32ed92995c5be0937df864c2c5eae5f6 (patch)
tree1ddcc7168f61afd5956dcabc9f42984be8f2504f
parent3874676dc6bcb311fa134baa5232d971d6573b29 (diff)
downloadrust-b70305fc32ed92995c5be0937df864c2c5eae5f6.tar.gz
rust-b70305fc32ed92995c5be0937df864c2c5eae5f6.zip
Haiku: set stack size to 16 MB on Haiku, use 32 MB on other platforms
-rw-r--r--src/librustdoc/lib.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs
index 566e2f1ed49..284406589b3 100644
--- a/src/librustdoc/lib.rs
+++ b/src/librustdoc/lib.rs
@@ -103,10 +103,14 @@ struct Output {
 }
 
 pub fn main() {
-    const STACK_SIZE: usize = 32_000_000; // 32MB
+    let thread_stack_size: usize = if cfg!(target_os = "haiku") {
+        16_000_000 // 16MB on Haiku
+    } else {
+        32_000_000 // 32MB on other platforms
+    };
     rustc_driver::set_sigpipe_handler();
     env_logger::init();
-    let res = std::thread::Builder::new().stack_size(STACK_SIZE).spawn(move || {
+    let res = std::thread::Builder::new().stack_size(thread_stack_size).spawn(move || {
         syntax::with_globals(move || {
             get_args().map(|args| main_args(&args)).unwrap_or(1)
         })