about summary refs log tree commit diff
path: root/src/libstd/rt
diff options
context:
space:
mode:
authorHuon Wilson <dbau.pp+github@gmail.com>2014-01-07 13:39:55 +1100
committerHuon Wilson <dbau.pp+github@gmail.com>2014-01-07 15:14:55 +1100
commit65ce505819b0f2e06ed39802d293bff182aedc16 (patch)
tree4d28b7ab729707ba7ea78dfc37226ec4f1761ee4 /src/libstd/rt
parent1f1838ea3e6795487521d4541bbd877d8e0797b8 (diff)
downloadrust-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.rs3
-rw-r--r--src/libstd/rt/task.rs2
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()
     }
 }