+ xbt_dynar_foreach(processes, cursor, process) {
+ XBT_DEBUG("Schedule item %u of %lu",cursor,xbt_dynar_length(processes));
+ smx_ctx_sysv_resume(process->context);
+ }
+}
+
+void smx_ctx_sysv_resume_parallel(smx_process_t process)
+{
+ smx_context_t context = process->context;
+ SIMIX_context_set_current((smx_context_t) context);
+ int rv;
+ rv = swapcontext(&((smx_ctx_sysv_t)context)->old_uc, &((smx_ctx_sysv_t) context)->uc);
+ SIMIX_context_set_current((smx_context_t) maestro_context);
+
+ xbt_assert((rv == 0), "Context swapping failure");
+}
+
+void smx_ctx_sysv_runall_parallel(xbt_dynar_t processes)
+{
+#ifdef CONTEXT_THREADS
+ xbt_parmap_apply(parmap, (void_f_pvoid_t)smx_ctx_sysv_resume_parallel, processes);
+#endif
+}