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