Initial (nonworking) draft of preemptive task switching
[bertos.git] / bertos / kern / proc_p.h
index 54ba7be187014ac3527c169b8aea1ce735e1dce8..a98f9428aa65f684ad414c4f2a0267c67f0547a1 100644 (file)
 
 #include <struct/list.h>
 
+#if CONFIG_KERN_PREEMPTIVE
+       #include <ucontext.h> // XXX
+#endif
+
 typedef struct Process
 {
        Node         link;        /**< Link Process into scheduler lists */
@@ -60,6 +64,8 @@ typedef struct Process
 
 #if CONFIG_KERN_PREEMPTIVE
        int          forbid_cnt;  /**< Nesting count for proc_forbid()/proc_permit(). */
+       bool         leaving;     /**< XXX: maybe global? */
+       ucontext_t   context;
 #endif
 
 #if CONFIG_KERN_HEAP