about summary refs log tree commit diff
path: root/src/rt/rust_kernel.h
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-02-06 21:06:12 -0800
committerBrian Anderson <banderson@mozilla.com>2012-02-08 15:42:47 -0800
commit7685e5de941ec0a482218095e4d6cdd2e53375d8 (patch)
treea12b6b1b82c2a068a2ae3264b17c3a0fb28163cf /src/rt/rust_kernel.h
parentad80823a6ce301e5133e1ba9aff1560f0a9c2886 (diff)
downloadrust-7685e5de941ec0a482218095e4d6cdd2e53375d8.tar.gz
rust-7685e5de941ec0a482218095e4d6cdd2e53375d8.zip
rt: Refactor the rust_kernel interface a bit
Diffstat (limited to 'src/rt/rust_kernel.h')
-rw-r--r--src/rt/rust_kernel.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/rt/rust_kernel.h b/src/rt/rust_kernel.h
index fdf9f5eb0f7..34797120ac5 100644
--- a/src/rt/rust_kernel.h
+++ b/src/rt/rust_kernel.h
@@ -46,7 +46,7 @@ public:
 
     struct rust_env *env;
 
-    rust_kernel(rust_srv *srv, size_t num_threads);
+    rust_kernel(rust_srv *srv);
 
     void log(uint32_t level, char const *fmt, ...);
     void fatal(char const *fmt, ...);
@@ -57,10 +57,11 @@ public:
 
     void fail();
 
-    int start_schedulers();
-    rust_scheduler* get_default_scheduler();
+    rust_sched_id create_scheduler(size_t num_threads);
+    rust_scheduler* get_scheduler_by_id(rust_sched_id id);
     // Called by a scheduler to indicate that it is terminating
-    void release_scheduler();
+    void release_scheduler_id(rust_sched_id id);
+    int wait_for_schedulers();
 
 #ifdef __WIN32__
     void win32_require(LPCTSTR fn, BOOL ok);