diff options
| author | Huon Wilson <dbau.pp+github@gmail.com> | 2014-01-07 13:39:55 +1100 |
|---|---|---|
| committer | Huon Wilson <dbau.pp+github@gmail.com> | 2014-01-07 15:14:55 +1100 |
| commit | 65ce505819b0f2e06ed39802d293bff182aedc16 (patch) | |
| tree | 4d28b7ab729707ba7ea78dfc37226ec4f1761ee4 /src/libstd/rt | |
| parent | 1f1838ea3e6795487521d4541bbd877d8e0797b8 (diff) | |
| download | rust-65ce505819b0f2e06ed39802d293bff182aedc16.tar.gz rust-65ce505819b0f2e06ed39802d293bff182aedc16.zip | |
std::rt: require known stack bounds for all tasks.
We just approximate with a 1 or 2 MB stack for native::start.
Diffstat (limited to 'src/libstd/rt')
| -rw-r--r-- | src/libstd/rt/mod.rs | 3 | ||||
| -rw-r--r-- | src/libstd/rt/task.rs | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/libstd/rt/mod.rs b/src/libstd/rt/mod.rs index 050caef86eb..95e39872b74 100644 --- a/src/libstd/rt/mod.rs +++ b/src/libstd/rt/mod.rs @@ -159,7 +159,8 @@ pub trait Runtime { // you're in. fn spawn_sibling(~self, cur_task: ~Task, opts: TaskOpts, f: proc()); fn local_io<'a>(&'a mut self) -> Option<rtio::LocalIo<'a>>; - fn stack_bounds(&self) -> Option<(uint, uint)>; // (lo, hi) + /// The (low, high) edges of the current stack. + fn stack_bounds(&self) -> (uint, uint); // (lo, hi) // XXX: This is a serious code smell and this should not exist at all. fn wrap(~self) -> ~Any; diff --git a/src/libstd/rt/task.rs b/src/libstd/rt/task.rs index 3efa979e515..6fb1d111015 100644 --- a/src/libstd/rt/task.rs +++ b/src/libstd/rt/task.rs @@ -285,7 +285,7 @@ impl Task { /// Returns the stack bounds for this task in (lo, hi) format. The stack /// bounds may not be known for all tasks, so the return value may be /// `None`. - pub fn stack_bounds(&self) -> Option<(uint, uint)> { + pub fn stack_bounds(&self) -> (uint, uint) { self.imp.get_ref().stack_bounds() } } |
