X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5e3adb6026f929615076da0e5a32dc35a02db573..deec49cf959ad56628b5d157fc2e2f9f01f4f946:/src/kernel/context/ContextThread.cpp diff --git a/src/kernel/context/ContextThread.cpp b/src/kernel/context/ContextThread.cpp index 8b424d4f13..9b6d207425 100644 --- a/src/kernel/context/ContextThread.cpp +++ b/src/kernel/context/ContextThread.cpp @@ -21,7 +21,8 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix_context); static xbt_os_sem_t smx_ctx_thread_sem = nullptr; namespace simgrid { -namespace simix { +namespace kernel { +namespace context { XBT_PRIVATE ContextFactory* thread_factory() { @@ -49,7 +50,7 @@ ThreadContextFactory::~ThreadContextFactory() ThreadContext* ThreadContextFactory::create_context( std::function code, - void_pfn_smxprocess_t cleanup, smx_process_t process) + void_pfn_smxprocess_t cleanup, smx_actor_t process) { return this->new_context(std::move(code), cleanup, process, !code); } @@ -58,7 +59,7 @@ void ThreadContextFactory::run_all() { if (smx_ctx_thread_sem == nullptr) { // Serial execution - smx_process_t process; + smx_actor_t process; unsigned int cursor; xbt_dynar_foreach(simix_global->process_to_run, cursor, process) { XBT_DEBUG("Handling %p",process); @@ -69,7 +70,7 @@ void ThreadContextFactory::run_all() } else { // Parallel execution unsigned int index; - smx_process_t process; + smx_actor_t process; xbt_dynar_foreach(simix_global->process_to_run, index, process) xbt_os_sem_release(static_cast(process->context)->begin_); xbt_dynar_foreach(simix_global->process_to_run, index, process) @@ -82,22 +83,23 @@ ThreadContext* ThreadContextFactory::self() return static_cast(xbt_os_thread_get_extra_data()); } -ThreadContext* ThreadContextFactory::attach(void_pfn_smxprocess_t cleanup_func, smx_process_t process) +ThreadContext* ThreadContextFactory::attach(void_pfn_smxprocess_t cleanup_func, smx_actor_t process) { return this->new_context( std::function(), cleanup_func, process, false); } -ThreadContext* ThreadContextFactory::create_maestro(std::function code, smx_process_t process) +ThreadContext* ThreadContextFactory::create_maestro(std::function code, smx_actor_t process) { return this->new_context(std::move(code), nullptr, process, true); } ThreadContext::ThreadContext(std::function code, - void_pfn_smxprocess_t cleanup, smx_process_t process, bool maestro) + void_pfn_smxprocess_t cleanup, smx_actor_t process, bool maestro) : AttachContext(std::move(code), cleanup, process) { - // We do not need the semaphores when maestro is in main, but we create them anyway for simplicity wrt the case where maestro is externalized + // We do not need the semaphores when maestro is in main, + // but creating them anyway simplifies things when maestro is externalized this->begin_ = xbt_os_sem_init(0); this->end_ = xbt_os_sem_init(0); @@ -234,5 +236,4 @@ void ThreadContext::attach_stop() xbt_os_thread_set_extra_data(nullptr); } -} -} +}}} // namespace