From 0a5e9d45e172e6aeecefe02e668e454a870bca56 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sun, 1 Apr 2012 16:21:48 -0700 Subject: [PATCH] rt: Introduce rust_manual_sched_launcher --- src/rt/rust_sched_launcher.cpp | 4 ++++ src/rt/rust_sched_launcher.h | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/rt/rust_sched_launcher.cpp b/src/rt/rust_sched_launcher.cpp index 424922edd8f4..b9c1f87f9d39 100644 --- a/src/rt/rust_sched_launcher.cpp +++ b/src/rt/rust_sched_launcher.cpp @@ -16,3 +16,7 @@ rust_thread_sched_launcher::rust_thread_sched_launcher(rust_scheduler *sched, rust_thread(SCHED_STACK_SIZE) { } +rust_manual_sched_launcher::rust_manual_sched_launcher(rust_scheduler *sched, + rust_srv *srv, int id) + : rust_sched_launcher(sched, srv, id) { +} diff --git a/src/rt/rust_sched_launcher.h b/src/rt/rust_sched_launcher.h index d738b3d0ca0d..7f3e0ed9f1cf 100644 --- a/src/rt/rust_sched_launcher.h +++ b/src/rt/rust_sched_launcher.h @@ -30,8 +30,16 @@ class rust_thread_sched_launcher public: rust_thread_sched_launcher(rust_scheduler *sched, rust_srv *srv, int id); virtual void start() { rust_thread::start(); } - virtual void run() { driver.start_main_loop(); } virtual void join() { rust_thread::join(); } + virtual void run() { driver.start_main_loop(); } +}; + +class rust_manual_sched_launcher : public rust_sched_launcher { +public: + rust_manual_sched_launcher(rust_scheduler *sched, rust_srv *srv, int id); + virtual void start() { } + virtual void join() { } + void start_main_loop() { driver.start_main_loop(); } }; #endif // RUST_SCHED_LAUNCHER_H