File tree Expand file tree Collapse file tree 1 file changed +9
-1
lines changed Expand file tree Collapse file tree 1 file changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -298,10 +298,18 @@ bug and need to present an error.
298
298
*/
299
299
pub fn monitor( f: ~fn ( diagnostic:: Emitter ) ) {
300
300
use std:: comm:: * ;
301
+
302
+ // XXX: This is a hack for newsched since it doesn't support split stacks.
303
+ // rustc needs a lot of stack!
304
+ static STACK_SIZE : uint = 4000000 ;
305
+
301
306
let ( p, ch) = stream( ) ;
302
307
let ch = SharedChan :: new( ch) ;
303
308
let ch_capture = ch. clone( ) ;
304
- match do task:: try || {
309
+ let mut task_builder = task:: task( ) ;
310
+ task_builder. supervised( ) ;
311
+ task_builder. opts. stack_size = Some ( STACK_SIZE ) ;
312
+ match do task_builder. try {
305
313
let ch = ch_capture. clone( ) ;
306
314
let ch_capture = ch. clone( ) ;
307
315
// The 'diagnostics emitter'. Every error, warning, etc. should
You can’t perform that action at this time.
0 commit comments