Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
allow to specify the stack size on a per-actor basis
[simgrid.git] / src / kernel / context / ContextUnix.cpp
index 6e2ebe5..28a62b9 100644 (file)
@@ -49,13 +49,13 @@ UContext* UContextFactory::create_context(std::function<void()>&& code, actor::A
 UContext::UContext(std::function<void()>&& code, actor::ActorImpl* actor, SwappedContextFactory* factory)
     : SwappedContext(std::move(code), actor, factory)
 {
-  XBT_VERB("Creating a context of stack %uMb", smx_context_stack_size / 1024 / 1024);
+  XBT_VERB("Creating a context of stack %uMb", actor->get_stacksize() / 1024 / 1024);
   /* if the user provided a function for the actor then use it. If not, nothing to do for maestro. */
   if (has_code()) {
     getcontext(&this->uc_);
     this->uc_.uc_link = nullptr;
     this->uc_.uc_stack.ss_sp   = sg_makecontext_stack_addr(get_stack());
-    this->uc_.uc_stack.ss_size = sg_makecontext_stack_size(smx_context_stack_size);
+    this->uc_.uc_stack.ss_size = sg_makecontext_stack_size(actor->get_stacksize());
     // Makecontext expects integer arguments; we want to pass a pointer.
     // This context address is decomposed into a series of integers, which are passed as arguments to makecontext.