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.h18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/rt/rust_task.h b/src/rt/rust_task.h
index bf3671409c3..61b6c982676 100644
--- a/src/rt/rust_task.h
+++ b/src/rt/rust_task.h
@@ -31,16 +31,6 @@ struct frame_glue_fns {
     uintptr_t reloc_glue_off;
 };
 
-// portions of the task structure that are accessible from the standard
-// library. This struct must agree with the std::task::rust_task record.
-struct rust_task_user {
-    rust_task_id id;
-    intptr_t notify_enabled;   // this is way more bits than necessary, but it
-                               // simplifies the alignment.
-    chan_handle notify_chan;
-    uintptr_t rust_sp;         // Saved sp when not running.
-};
-
 // std::lib::task::task_result
 typedef unsigned long task_result;
 #define tr_success 0
@@ -57,10 +47,14 @@ struct task_notification {
 struct
 rust_task : public kernel_owned<rust_task>, rust_cond
 {
-    rust_task_user user;
-
     RUST_ATOMIC_REFCOUNT();
 
+    rust_task_id id;
+    bool notify_enabled;
+    chan_handle notify_chan;
+
+    uintptr_t rust_sp;         // Saved sp when not running.
+
     context ctx;
     stk_seg *stk;
     uintptr_t runtime_sp;      // Runtime sp while task running.