-/* Copyright (c) 2009-2022. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2009-2023. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(ker_context);
-namespace simgrid {
-namespace kernel {
-namespace context {
+namespace simgrid::kernel::context {
// ThreadContextFactory
{
Context::set_current(context);
-#ifndef WIN32
- install_sigsegv_stack(nullptr, true);
-#endif
+ install_sigsegv_stack(true);
// Tell the caller (normally the maestro) we are starting, and wait for its green light
context->end_.release();
context->start();
// Signal to the caller (normally the maestro) that we have finished:
context->yield();
-#ifndef WIN32
- install_sigsegv_stack(nullptr, false);
-#endif
+ install_sigsegv_stack(false);
XBT_DEBUG("Terminating");
Context::set_current(nullptr);
}
void SerialThreadContext::run_all(std::vector<actor::ActorImpl*> const& actors_list)
{
- for (smx_actor_t const& actor : actors_list) {
+ for (auto const* actor : actors_list) {
XBT_DEBUG("Handling %p", actor);
auto* context = static_cast<ThreadContext*>(actor->context_.get());
context->release();
void ParallelThreadContext::run_all(std::vector<actor::ActorImpl*> const& actors_list)
{
- for (smx_actor_t const& actor : actors_list)
+ for (auto const* actor : actors_list)
static_cast<ThreadContext*>(actor->context_.get())->release();
- for (smx_actor_t const& actor : actors_list)
+ for (auto const* actor : actors_list)
static_cast<ThreadContext*>(actor->context_.get())->wait();
}
XBT_VERB("Activating thread context factory");
return new ThreadContextFactory();
}
-} // namespace context
-} // namespace kernel
-} // namespace simgrid
+} // namespace simgrid::kernel::context