about summary refs log tree commit diff
path: root/src/rt/rust_task.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rt/rust_task.h')
-rw-r--r--src/rt/rust_task.h9
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);
 };
 
 //