Skip to content

Commit a951a41

Browse files
committed
rt: Introduce scheduler ids
1 parent 0f4ca21 commit a951a41

File tree

4 files changed

+10
-4
lines changed

4 files changed

+10
-4
lines changed

src/rt/rust_internal.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ struct stk_seg;
6161
struct type_desc;
6262
struct frame_glue_fns;
6363

64+
typedef intptr_t rust_sched_id;
6465
typedef intptr_t rust_task_id;
6566
typedef intptr_t rust_port_id;
6667

src/rt/rust_kernel.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ rust_kernel::rust_kernel(rust_srv *srv, size_t num_threads) :
1717
env(srv->env)
1818
{
1919
sched = new (this, "rust_scheduler")
20-
rust_scheduler(this, srv, num_threads);
20+
rust_scheduler(this, srv, num_threads, 0);
2121
live_schedulers = 1;
2222
}
2323

src/rt/rust_scheduler.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33

44
rust_scheduler::rust_scheduler(rust_kernel *kernel,
55
rust_srv *srv,
6-
size_t num_threads) :
6+
size_t num_threads,
7+
rust_sched_id id) :
78
kernel(kernel),
89
srv(srv),
910
env(srv->env),
1011
live_threads(num_threads),
11-
num_threads(num_threads)
12+
num_threads(num_threads),
13+
id(id)
1214
{
1315
isaac_init(kernel, &rctx);
1416
create_task_threads();

src/rt/rust_scheduler.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,17 @@ class rust_scheduler : public kernel_owned<rust_scheduler> {
1919
array_list<rust_task_thread *> threads;
2020
const size_t num_threads;
2121

22+
rust_sched_id id;
23+
2224
void create_task_threads();
2325
void destroy_task_threads();
2426

2527
rust_task_thread *create_task_thread(int id);
2628
void destroy_task_thread(rust_task_thread *thread);
2729

2830
public:
29-
rust_scheduler(rust_kernel *kernel, rust_srv *srv, size_t num_threads);
31+
rust_scheduler(rust_kernel *kernel, rust_srv *srv, size_t num_threads,
32+
rust_sched_id id);
3033
~rust_scheduler();
3134

3235
void start_task_threads();

0 commit comments

Comments
 (0)