Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
[simgrid.git] / src / simix / smx_context.c
index ba9bb88..9fc1b5d 100644 (file)
@@ -29,7 +29,7 @@ static xbt_os_thread_key_t smx_current_context_key = 0;
 #endif
 
 static int smx_parallel_contexts = 1;
-static int smx_parallel_threshold = 1;
+static int smx_parallel_threshold = 2;
 
 /** 
  * This function is called by SIMIX_global_init() to initialize the context module.
@@ -43,15 +43,17 @@ void SIMIX_context_mod_init(void)
     }
     else { /* use the factory specified by --cfg=contexts/factory:value */
 
-      if (smx_context_factory_name == NULL) {
+    if (smx_context_factory_name == NULL) {
         /* use the default factory */
-#ifdef CONTEXT_UCONTEXT
-        SIMIX_ctx_sysv_factory_init(&simix_global->context_factory);
-#else
-        SIMIX_ctx_thread_factory_init(&simix_global->context_factory);
-#endif
-      }
-      else if (!strcmp(smx_context_factory_name, "ucontext")) {
+       #ifdef HAVE_RAWCTX
+       SIMIX_ctx_raw_factory_init(&simix_global->context_factory);
+       #elif CONTEXT_UCONTEXT
+               SIMIX_ctx_sysv_factory_init(&simix_global->context_factory);
+       #else
+               SIMIX_ctx_thread_factory_init(&simix_global->context_factory);
+       #endif
+    }
+    else if (!strcmp(smx_context_factory_name, "ucontext")) {
         /* use ucontext */
 #ifdef CONTEXT_UCONTEXT
         SIMIX_ctx_sysv_factory_init(&simix_global->context_factory);