\r
#include "xbt/function_types.h"\r
#include "xbt/xbt_context_factory.h"\r
-#include "xbt/xbt_thread_context.h"\r
+\r
+#include "portable.h" /* loads context system definitions */\r
+#include "xbt/swag.h"\r
+#include "xbt/xbt_os_thread.h"\r
+\r
+\r
+typedef struct s_xbt_thread_context {\r
+ XBT_CTX_BASE_T;\r
+ xbt_os_thread_t thread; /* a plain dumb thread (portable to posix or windows) */\r
+ xbt_os_sem_t begin; /* this semaphore is used to schedule/yield the process */\r
+ xbt_os_sem_t end; /* this semaphore is used to schedule/unschedule the process */\r
+} s_xbt_thread_context_t,* xbt_thread_context_t;\r
\r
static xbt_context_t \r
xbt_thread_context_factory_create_context(const char* name, xbt_main_func_t code, void_f_pvoid_t startup_func, void* startup_arg, void_f_pvoid_t cleanup_func, void* cleanup_arg, int argc, char** argv);\r