#include "mc/mc.h"
#include "simgrid/s4u/Engine.hpp"
#include "simgrid/s4u/Host.hpp"
+#include "src/smpi/include/smpi_actor.hpp"
-#include "../kernel/activity/IoImpl.hpp"
#include "simgrid/sg_config.hpp"
-#include "smx_private.hpp"
+#include "src/kernel/activity/ExecImpl.hpp"
+#include "src/kernel/activity/IoImpl.hpp"
+#include "src/kernel/activity/MailboxImpl.hpp"
#include "src/kernel/activity/SleepImpl.hpp"
#include "src/kernel/activity/SynchroRaw.hpp"
#include "src/mc/mc_record.hpp"
#include "src/mc/mc_replay.hpp"
#include "src/simix/smx_host_private.hpp"
-#include "src/smpi/include/smpi_process.hpp"
+#include "src/simix/smx_private.hpp"
#include "src/surf/StorageImpl.hpp"
#include "src/surf/xml/platf.hpp"
#if SIMGRID_HAVE_MC
-#include "src/mc/mc_private.hpp"
#include "src/mc/remote/Client.hpp"
-#include "src/mc/remote/mc_protocol.h"
-#endif
-
-#if HAVE_SMPI
-#include "src/smpi/include/private.hpp"
#endif
#include <boost/heap/fibonacci_heap.hpp>
-#include <csignal>
XBT_LOG_NEW_CATEGORY(simix, "All SIMIX categories");
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_kernel, simix, "Logging specific to SIMIX (kernel)");
/* register a function to be called by SURF after the environment creation */
sg_platf_init();
simgrid::s4u::on_platform_created.connect(SIMIX_post_create_environment);
- simgrid::s4u::Host::on_creation.connect([](simgrid::s4u::Host& host) {
- if (host.extension<simgrid::simix::Host>() == nullptr) // another callback to the same signal may have created it
- host.extension_set<simgrid::simix::Host>(new simgrid::simix::Host());
- });
simgrid::s4u::Storage::on_creation.connect([](simgrid::s4u::Storage& storage) {
sg_storage_t s = simgrid::s4u::Storage::by_name(storage.get_cname());
/** Wake up all processes waiting for a Surf action to finish */
static void SIMIX_wake_processes()
{
- for (auto const& model : *all_existing_models) {
+ for (auto const& model : all_existing_models) {
simgrid::kernel::resource::Action* action;
XBT_DEBUG("Handling the processes whose action failed (if any)");
- while ((action = surf_model_extract_failed_action_set(model))) {
+ while ((action = model->extract_failed_action())) {
XBT_DEBUG(" Handling Action %p",action);
SIMIX_simcall_exit(static_cast<simgrid::kernel::activity::ActivityImpl*>(action->get_data()));
}
XBT_DEBUG("Handling the processes whose action terminated normally (if any)");
- while ((action = surf_model_extract_done_action_set(model))) {
+ while ((action = model->extract_done_action())) {
XBT_DEBUG(" Handling Action %p",action);
if (action->get_data() == nullptr)
XBT_DEBUG("probably vcpu's action %p, skip", action);