diff options
| author | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2012-07-10 08:45:08 -0700 |
|---|---|---|
| committer | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2012-07-10 08:45:08 -0700 |
| commit | 1972ae23e528edf26dfad2090c08fbd47fa9bece (patch) | |
| tree | 0d3fe80f929470632cba436bb3cf5242cce1a07f /src/libcore/task.rs | |
| parent | 75db80e233ebdc84f2aaabf48ec1967ab0e622b4 (diff) | |
| download | rust-1972ae23e528edf26dfad2090c08fbd47fa9bece.tar.gz rust-1972ae23e528edf26dfad2090c08fbd47fa9bece.zip | |
libcore: add a task::set_sched_mode fn
Diffstat (limited to 'src/libcore/task.rs')
| -rw-r--r-- | src/libcore/task.rs | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/src/libcore/task.rs b/src/libcore/task.rs index 9b75fb07a9e..608f4d449c2 100644 --- a/src/libcore/task.rs +++ b/src/libcore/task.rs @@ -38,6 +38,7 @@ export builder; export default_task_opts; export get_opts; export set_opts; +export set_sched_mode; export add_wrapper; export run; @@ -237,6 +238,16 @@ fn set_opts(builder: builder, opts: task_opts) { builder.opts = opts; } +fn set_sched_mode(builder: builder, mode: sched_mode) { + set_opts(builder, { + sched: some({ + mode: mode, + foreign_stack_size: none + }) + with get_opts(builder) + }); +} + fn add_wrapper(builder: builder, gen_body: fn@(+fn~()) -> fn~()) { /*! * Add a wrapper to the body of the spawned task. @@ -467,13 +478,7 @@ fn spawn_sched(mode: sched_mode, +f: fn~()) { */ let mut builder = builder(); - set_opts(builder, { - sched: some({ - mode: mode, - foreign_stack_size: none - }) - with get_opts(builder) - }); + set_sched_mode(builder, mode); run(builder, f); } @@ -1207,14 +1212,7 @@ fn test_avoid_copying_the_body_unsupervise() { #[test] fn test_osmain() { let buildr = builder(); - let opts = { - sched: some({ - mode: osmain, - foreign_stack_size: none - }) - with get_opts(buildr) - }; - set_opts(buildr, opts); + set_sched_mode(buildr, mode); let po = comm::port(); let ch = comm::chan(po); |
