int nthreads = SIMIX_context_get_nthreads();
BoostContext::parmap_ = xbt_parmap_new(nthreads, SIMIX_context_get_parallel_mode());
BoostContext::workers_context_.clear();
BoostContext::workers_context_.resize(nthreads, nullptr);
BoostContext::maestro_context_ = nullptr;
xbt_os_thread_key_create(&BoostContext::worker_id_key_);
int nthreads = SIMIX_context_get_nthreads();
BoostContext::parmap_ = xbt_parmap_new(nthreads, SIMIX_context_get_parallel_mode());
BoostContext::workers_context_.clear();
BoostContext::workers_context_.resize(nthreads, nullptr);
BoostContext::maestro_context_ = nullptr;
xbt_os_thread_key_create(&BoostContext::worker_id_key_);
-smx_context_t BoostContextFactory::create_context(std::function<void()> code,
- void_pfn_smxprocess_t cleanup_func, smx_actor_t process)
+smx_context_t BoostContextFactory::create_context(std::function<void()> code, void_pfn_smxprocess_t cleanup_func,
+ smx_actor_t process)
- /* if the user provided a function for the process then use it,
- otherwise it is the context for maestro */
+ /* if the user provided a function for the process then use it, otherwise it is the context for maestro */
- // We need to pass the bottom of the stack to make_fcontext,
- // depending on the stack direction it may be the lower or higher address:
+// We need to pass the bottom of the stack to make_fcontext, depending on the stack direction it may be the lower
+// or higher address:
#if PTH_STACKGROWTH == -1
void* stack = static_cast<char*>(this->stack_) + smx_context_usable_stack_size - 1;
#else
#if PTH_STACKGROWTH == -1
void* stack = static_cast<char*>(this->stack_) + smx_context_usable_stack_size - 1;
#else
if (i < xbt_dynar_length(simix_global->process_to_run)) {
/* execute the next process */
XBT_DEBUG("Run next process");
if (i < xbt_dynar_length(simix_global->process_to_run)) {
/* execute the next process */
XBT_DEBUG("Run next process");
- next_context = static_cast<BoostSerialContext*>(xbt_dynar_get_as(
- simix_global->process_to_run, i, smx_actor_t)->context);
- }
- else {
+ next_context =
+ static_cast<BoostSerialContext*>(xbt_dynar_get_as(simix_global->process_to_run, i, smx_actor_t)->context);
+ } else {
/* all processes were run, return to maestro */
XBT_DEBUG("No more process to run");
next_context = static_cast<BoostSerialContext*>(maestro_context_);
/* all processes were run, return to maestro */
XBT_DEBUG("No more process to run");
next_context = static_cast<BoostSerialContext*>(maestro_context_);
if (next_work != nullptr) {
XBT_DEBUG("Run next process");
next_context = static_cast<BoostParallelContext*>(next_work->context);
if (next_work != nullptr) {
XBT_DEBUG("Run next process");
next_context = static_cast<BoostParallelContext*>(next_work->context);