diff options
Diffstat (limited to 'src/rt/rust_task.h')
| -rw-r--r-- | src/rt/rust_task.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/rt/rust_task.h b/src/rt/rust_task.h index f2aa7846c54..29da8d82723 100644 --- a/src/rt/rust_task.h +++ b/src/rt/rust_task.h @@ -83,6 +83,13 @@ rust_task : public maybe_proxy<rust_task>, memory_region local_region; memory_region synchronized_region; + class wakeup_callback { + public: + virtual void on_wakeup() = 0; + }; + + wakeup_callback *_on_wakeup; + // Only a pointer to 'name' is kept, so it must live as long as this task. rust_task(rust_scheduler *sched, rust_task_list *state, @@ -156,6 +163,8 @@ rust_task : public maybe_proxy<rust_task>, void pin(); void pin(int id); void unpin(); + + void on_wakeup(wakeup_callback *callback); }; // |
