XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix_process);
-simgrid::kernel::activity::ExecImpl::ExecImpl(std::string name, resource::Action* surf_action,
+simgrid::kernel::activity::ExecImpl::ExecImpl(const char* name, resource::Action* surf_action,
resource::Action* timeout_detector, s4u::Host* host)
- : ActivityImpl(name), host_(host), surf_action_(surf_action), timeout_detector_(timeout_detector)
+ : host_(host)
{
+ if (name)
+ this->name_ = name;
this->state_ = SIMIX_RUNNING;
+ surf_action_ = surf_action;
surf_action_->set_data(this);
- if (timeout_detector != nullptr)
+ if (timeout_detector != nullptr) {
timeout_detector->set_data(this);
+ timeout_detector_ = timeout_detector;
+ }
XBT_DEBUG("Create exec %p", this);
}
timeout_detector_ = nullptr;
}
- on_completion(this);
+ onCompletion(this);
/* If there are simcalls associated with the synchro, then answer them */
if (not simcalls_.empty())
SIMIX_execution_finish(this);
this->surf_action_ = new_action;
}
- on_migration(this, to);
+ onMigration(this, to);
return this;
}
/*************
* Callbacks *
*************/
-simgrid::xbt::signal<void(simgrid::kernel::activity::ExecImplPtr)> simgrid::kernel::activity::ExecImpl::on_creation;
-simgrid::xbt::signal<void(simgrid::kernel::activity::ExecImplPtr)> simgrid::kernel::activity::ExecImpl::on_completion;
-simgrid::xbt::signal<void(simgrid::kernel::activity::ExecImplPtr, simgrid::s4u::Host*)>
- simgrid::kernel::activity::ExecImpl::on_migration;
+simgrid::xbt::signal<void(simgrid::kernel::activity::ExecImplPtr)> simgrid::kernel::activity::ExecImpl::onCreation;
+simgrid::xbt::signal<void(simgrid::kernel::activity::ExecImplPtr)> simgrid::kernel::activity::ExecImpl::onCompletion;
+simgrid::xbt::signal<void(simgrid::kernel::activity::ExecImplPtr, simgrid::s4u::Host*)> simgrid::kernel::activity::ExecImpl::onMigration;
~ExecImpl() override;
public:
- explicit ExecImpl(std::string name, resource::Action* surf_action, resource::Action* timeout_detector,
+ explicit ExecImpl(const char* name, resource::Action* surf_action, resource::Action* timeout_detector,
s4u::Host* host);
void suspend() override;
void resume() override;
resource::Action* timeout_detector_ = nullptr;
public:
- static simgrid::xbt::signal<void(kernel::activity::ExecImplPtr)> on_creation;
- static simgrid::xbt::signal<void(kernel::activity::ExecImplPtr)> on_completion;
- static simgrid::xbt::signal<void(simgrid::kernel::activity::ExecImplPtr, simgrid::s4u::Host*)> on_migration;
+ static simgrid::xbt::signal<void(kernel::activity::ExecImplPtr)> onCreation;
+ static simgrid::xbt::signal<void(kernel::activity::ExecImplPtr)> onCompletion;
+ static simgrid::xbt::signal<void(simgrid::kernel::activity::ExecImplPtr, simgrid::s4u::Host*)> onMigration;
+
};
}
}
simgrid::vm::DirtyPageTrackingExt::EXTENSION_ID =
simgrid::vm::VirtualMachineImpl::extension_create<simgrid::vm::DirtyPageTrackingExt>();
simgrid::vm::VirtualMachineImpl::on_creation.connect(&on_virtual_machine_creation);
- simgrid::kernel::activity::ExecImpl::on_creation.connect(&on_exec_creation);
- simgrid::kernel::activity::ExecImpl::on_completion.connect(&on_exec_completion);
+ simgrid::kernel::activity::ExecImpl::onCreation.connect(&on_exec_creation);
+ simgrid::kernel::activity::ExecImpl::onCompletion.connect(&on_exec_completion);
}
}
new simgrid::kernel::activity::ExecImpl(name, surf_action, /*timeout_detector*/ nullptr, host));
XBT_DEBUG("Create execute synchro %p: %s", exec.get(), exec->name_.c_str());
- simgrid::kernel::activity::ExecImpl::on_creation(exec);
+ simgrid::kernel::activity::ExecImpl::onCreation(exec);
return exec;
}