Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of https://framagit.org/simgrid/simgrid
[simgrid.git] / src / kernel / context / ContextSwapped.cpp
index 2e96440..9f40217 100644 (file)
@@ -3,6 +3,7 @@
 /* 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. */
 
+#include "simgrid/Exception.hpp"
 #include "simgrid/modelchecker.h"
 #include "src/internal_config.h"
 #include "src/kernel/context/context_private.hpp"
@@ -47,9 +48,8 @@ SwappedContextFactory::~SwappedContextFactory()
   delete parmap_;
 }
 
-SwappedContext::SwappedContext(std::function<void()> code, void_pfn_smxprocess_t cleanup_func, smx_actor_t process,
-                               SwappedContextFactory* factory)
-    : Context(std::move(code), cleanup_func, process), factory_(factory)
+SwappedContext::SwappedContext(std::function<void()> code, smx_actor_t actor, SwappedContextFactory* factory)
+    : Context(std::move(code), actor), factory_(factory)
 {
   // Save maestro (=context created first) in preparation for run_all
   if (not factory->parallel_ && factory_->workers_context_[0] == nullptr)
@@ -148,7 +148,7 @@ void SwappedContext::stop()
 {
   Context::stop();
   /* We must cut the actor execution using an exception to properly free the C++ RAII variables */
-  throw StopRequest();
+  throw ForcefulKillException();
 }
 
 /** Maestro wants to run all ready actors */