X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3580c1f2e5172b721449d0e79c72241bd012152a..94f511befd8ea7dea78746c1f6ae818a778e67e7:/src/kernel/context/ContextBoost.cpp diff --git a/src/kernel/context/ContextBoost.cpp b/src/kernel/context/ContextBoost.cpp index 21dc80d097..9ae90ca5ae 100644 --- a/src/kernel/context/ContextBoost.cpp +++ b/src/kernel/context/ContextBoost.cpp @@ -15,16 +15,9 @@ namespace kernel { namespace context { // BoostContextFactory - -BoostContextFactory::BoostContextFactory() : SwappedContextFactory("BoostContextFactory") {} - -BoostContextFactory::~BoostContextFactory() = default; - smx_context_t BoostContextFactory::create_context(std::function code, void_pfn_smxprocess_t cleanup_func, smx_actor_t process) { - if (parallel_) - return this->new_context(std::move(code), cleanup_func, process, this); return this->new_context(std::move(code), cleanup_func, process, this); } @@ -65,8 +58,6 @@ BoostContext::~BoostContext() if (not this->stack_) delete this->fc_; #endif - if (this == get_maestro()) - set_maestro(nullptr); } void BoostContext::wrapper(BoostContext::arg_type arg) @@ -111,41 +102,6 @@ void BoostContext::swap_into(SwappedContext* to_) #endif } -void BoostContext::stop() -{ - Context::stop(); - throw StopRequest(); -} - -// ParallelBoostContext -void ParallelBoostContext::suspend() -{ - boost::optional next_work = parmap_->next(); - SwappedContext* next_context; - if (next_work) { - XBT_DEBUG("Run next process"); - next_context = static_cast(next_work.get()->context_); - } else { - XBT_DEBUG("No more processes to run"); - next_context = workers_context_[worker_id_]; - } - - Context::set_current(next_context); - this->swap_into(next_context); -} - -void ParallelBoostContext::resume() -{ - worker_id_ = threads_working_.fetch_add(1, std::memory_order_relaxed); - - SwappedContext* worker_context = static_cast(self()); - workers_context_[worker_id_] = worker_context; - - Context::set_current(this); - worker_context->swap_into(this); -} - - XBT_PRIVATE ContextFactory* boost_factory() { XBT_VERB("Using Boost contexts. Welcome to the 21th century.");