about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-03-31 21:44:06 -0700
committerBrian Anderson <banderson@mozilla.com>2012-03-31 21:48:52 -0700
commita17097a57b7563ee94e090b0d428332bb28ef424 (patch)
tree2f264198d29992011b445beb2a9d3a6fc5eb4c0e /src
parent2d8ef7387e737ce1d8ea6f6b9a75626529fff234 (diff)
downloadrust-a17097a57b7563ee94e090b0d428332bb28ef424.tar.gz
rust-a17097a57b7563ee94e090b0d428332bb28ef424.zip
rt: Make rust_sched_launcher hide it's thread implementation
Diffstat (limited to 'src')
-rw-r--r--src/rt/rust_sched_launcher.cpp5
-rw-r--r--src/rt/rust_sched_launcher.h6
-rw-r--r--src/rt/sync/rust_thread.h4
3 files changed, 5 insertions, 10 deletions
diff --git a/src/rt/rust_sched_launcher.cpp b/src/rt/rust_sched_launcher.cpp
index 2a001a619fa..ea444b504aa 100644
--- a/src/rt/rust_sched_launcher.cpp
+++ b/src/rt/rust_sched_launcher.cpp
@@ -10,8 +10,3 @@ rust_sched_launcher::rust_sched_launcher(rust_scheduler *sched,
       sched_loop(sched, srv, id),
       driver(&sched_loop) {
 }
-
-void
-rust_sched_launcher::run() {
-    driver.start_main_loop();
-}
diff --git a/src/rt/rust_sched_launcher.h b/src/rt/rust_sched_launcher.h
index 1baf1724341..79a5835efe2 100644
--- a/src/rt/rust_sched_launcher.h
+++ b/src/rt/rust_sched_launcher.h
@@ -7,7 +7,7 @@
 
 class rust_sched_launcher
   : public kernel_owned<rust_sched_launcher>,
-    public rust_thread {
+    private rust_thread {
 public:
     rust_kernel *kernel;
 
@@ -18,7 +18,9 @@ private:
 public:
     rust_sched_launcher(rust_scheduler *sched, rust_srv *srv, int id);
 
-    virtual void run();
+    void start() { rust_thread::start(); }
+    void run() { driver.start_main_loop(); }
+    void join() { rust_thread::join(); }
     rust_sched_loop *get_loop() { return &sched_loop; }
 };
 
diff --git a/src/rt/sync/rust_thread.h b/src/rt/sync/rust_thread.h
index cdb1346bb2b..1a483b658c0 100644
--- a/src/rt/sync/rust_thread.h
+++ b/src/rt/sync/rust_thread.h
@@ -20,9 +20,7 @@ class rust_thread {
 
     void start();
 
-    virtual void run() {
-        return;
-    }
+    virtual void run() = 0;
 
     void join();
     void detach();