Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cfg=contexts/parallel:nb is now the number of threads instead of a boolean
[simgrid.git] / src / simix / smx_context_sysv.c
index e5b66e1c17e6683f35d2ac45b3264b5d0afdc6d2..51410dd43417abf93807547f5c6a3afd8a3c4012 100644 (file)
@@ -62,7 +62,7 @@ void SIMIX_ctx_sysv_factory_init(smx_context_factory_t *factory)
   (*factory)->suspend = smx_ctx_sysv_suspend;
   (*factory)->name = "smx_sysv_context_factory";
 
-  if (smx_parallel_contexts) {
+  if (SIMIX_context_is_parallel()) {
 #ifdef CONTEXT_THREADS /* To use parallel ucontexts a thread pool is needed */
     parmap = xbt_parmap_new(2);
     (*factory)->runall = smx_ctx_sysv_runall_parallel;
@@ -108,10 +108,10 @@ smx_ctx_sysv_create_context_sized(size_t size, xbt_main_func_t code,
     context->uc.uc_link = NULL;
 
     context->uc.uc_stack.ss_sp =
-        pth_skaddr_makecontext(context->stack, CONTEXT_STACK_SIZE);
+        pth_skaddr_makecontext(context->stack, smx_context_stack_size);
 
     context->uc.uc_stack.ss_size =
-        pth_sksize_makecontext(context->stack, CONTEXT_STACK_SIZE);
+        pth_sksize_makecontext(context->stack, smx_context_stack_size);
 
 #ifdef HAVE_VALGRIND_VALGRIND_H
     context->valgrind_stack_id =
@@ -136,7 +136,7 @@ smx_ctx_sysv_create_context(xbt_main_func_t code, int argc, char **argv,
     void *data)
 {
 
-  return smx_ctx_sysv_create_context_sized(sizeof(s_smx_ctx_sysv_t),
+  return smx_ctx_sysv_create_context_sized(sizeof(s_smx_ctx_sysv_t) + smx_context_stack_size,
                                            code, argc, argv, cleanup_func,
                                            data);