A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Kill the now useless type xbt::string
[simgrid.git]
/
src
/
kernel
/
actor
/
ActorImpl.cpp
diff --git
a/src/kernel/actor/ActorImpl.cpp
b/src/kernel/actor/ActorImpl.cpp
index
8f3b373
..
c863647
100644
(file)
--- a/
src/kernel/actor/ActorImpl.cpp
+++ b/
src/kernel/actor/ActorImpl.cpp
@@
-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. */
/* 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 "src/mc/mc_replay.hpp"
#include <simgrid/Exception.hpp>
#include <simgrid/s4u/Actor.hpp>
#include <simgrid/s4u/Host.hpp>
#include <simgrid/Exception.hpp>
#include <simgrid/s4u/Actor.hpp>
#include <simgrid/s4u/Host.hpp>
@@
-33,7
+34,7
@@
ActorImpl* ActorImpl::self()
return (self_context != nullptr) ? self_context->get_actor() : nullptr;
}
return (self_context != nullptr) ? self_context->get_actor() : nullptr;
}
-ActorImpl::ActorImpl(
xbt
::string name, s4u::Host* host, aid_t ppid)
+ActorImpl::ActorImpl(
std
::string name, s4u::Host* host, aid_t ppid)
: ActorIDTrait(std::move(name), ppid), host_(host), piface_(this)
{
simcall_.issuer_ = this;
: ActorIDTrait(std::move(name), ppid), host_(host), piface_(this)
{
simcall_.issuer_ = this;
@@
-65,7
+66,7
@@
ActorImplPtr ActorImpl::attach(const std::string& name, void* data, s4u::Host* h
throw HostFailureException(XBT_THROW_POINT, "Cannot attach actor on failed host.");
}
throw HostFailureException(XBT_THROW_POINT, "Cannot attach actor on failed host.");
}
- auto* actor = new ActorImpl(
xbt
::string(name), host, /*ppid*/ -1);
+ auto* actor = new ActorImpl(
std
::string(name), host, /*ppid*/ -1);
/* Actor data */
actor->piface_.set_data(data);
actor->code_ = nullptr;
/* Actor data */
actor->piface_.set_data(data);
actor->code_ = nullptr;
@@
-279,6
+280,8
@@
void ActorImpl::yield()
if (not wannadie())
smpi_switch_data_segment(get_iface());
#endif
if (not wannadie())
smpi_switch_data_segment(get_iface());
#endif
+ if (simgrid_mc_replay_show_backtraces)
+ xbt_backtrace_display_current();
}
/** This actor will be terminated automatically when the last non-daemon actor finishes */
}
/** This actor will be terminated automatically when the last non-daemon actor finishes */
@@
-415,7
+418,7
@@
void ActorImpl::set_host(s4u::Host* dest)
ActorImplPtr ActorImpl::init(const std::string& name, s4u::Host* host) const
{
ActorImplPtr ActorImpl::init(const std::string& name, s4u::Host* host) const
{
- auto* actor = new ActorImpl(
xbt::string(name)
, host, get_pid());
+ auto* actor = new ActorImpl(
name
, host, get_pid());
intrusive_ptr_add_ref(actor);
/* The on_creation() signal must be delayed until there, where the pid and everything is set */
intrusive_ptr_add_ref(actor);
/* The on_creation() signal must be delayed until there, where the pid and everything is set */
@@
-458,9
+461,9
@@
ActorImplPtr ActorImpl::create(const std::string& name, const ActorCode& code, v
ActorImplPtr actor;
if (parent_actor != nullptr)
ActorImplPtr actor;
if (parent_actor != nullptr)
- actor = parent_actor->init(
xbt::string(name)
, host);
+ actor = parent_actor->init(
name
, host);
else
else
- actor = self()->init(
xbt::string(name)
, host);
+ actor = self()->init(
name
, host);
actor->piface_.set_data(data); /* actor data */
actor->piface_.set_data(data); /* actor data */
@@
-493,7
+496,7
@@
void create_maestro(const std::function<void()>& code)
{
auto* engine = EngineImpl::get_instance();
/* Create maestro actor and initialize it */
{
auto* engine = EngineImpl::get_instance();
/* Create maestro actor and initialize it */
- auto* maestro = new ActorImpl(
xbt::string("")
, /*host*/ nullptr, /*ppid*/ -1);
+ auto* maestro = new ActorImpl(
/*name*/ ""
, /*host*/ nullptr, /*ppid*/ -1);
if (not code) {
maestro->context_.reset(engine->get_context_factory()->create_context(ActorCode(), maestro));
if (not code) {
maestro->context_.reset(engine->get_context_factory()->create_context(ActorCode(), maestro));