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
Improve handling of dependencies, debug and example
[simgrid.git]
/
include
/
simgrid
/
s4u
/
Activity.hpp
diff --git
a/include/simgrid/s4u/Activity.hpp
b/include/simgrid/s4u/Activity.hpp
index
b5f609f
..
da23b82
100644
(file)
--- a/
include/simgrid/s4u/Activity.hpp
+++ b/
include/simgrid/s4u/Activity.hpp
@@
-12,8
+12,11
@@
#include <simgrid/forward.h>
#include <string>
#include <vector>
#include <simgrid/forward.h>
#include <string>
#include <vector>
+#include <xbt/log.hpp>
#include <xbt/signal.hpp>
#include <xbt/signal.hpp>
+XBT_LOG_EXTERNAL_CATEGORY(s4u_activity);
+
namespace simgrid {
namespace s4u {
namespace simgrid {
namespace s4u {
@@
-89,7
+92,7
@@
private:
template <class AnyActivity> class Activity_T : public Activity {
private:
template <class AnyActivity> class Activity_T : public Activity {
private:
- std::string name_ = "";
+ std::string name_ = "
unnamed
";
std::string tracing_category_ = "";
void* user_data_ = nullptr;
std::atomic_int_fast32_t refcount_{0};
std::string tracing_category_ = "";
void* user_data_ = nullptr;
std::atomic_int_fast32_t refcount_{0};
@@
-124,6
+127,7
@@
public:
{
while (has_successors()) {
AnyActivity* b = get_successor();
{
while (has_successors()) {
AnyActivity* b = get_successor();
+ XBT_CDEBUG(s4u_activity, "Remove a dependency from '%s' on '%s'", get_cname(), b->get_cname());
b->remove_dependency_on(static_cast<AnyActivity*>(this));
if (not b->has_dependencies()) {
b->vetoable_start();
b->remove_dependency_on(static_cast<AnyActivity*>(this));
if (not b->has_dependencies()) {
b->vetoable_start();
@@
-138,6
+142,7
@@
public:
if (has_dependencies())
return static_cast<AnyActivity*>(this);
set_state(State::STARTED);
if (has_dependencies())
return static_cast<AnyActivity*>(this);
set_state(State::STARTED);
+ XBT_CDEBUG(s4u_activity, "All dependencies are solved, let's start '%s'", get_cname());
static_cast<AnyActivity*>(this)->start();
return static_cast<AnyActivity*>(this);
}
static_cast<AnyActivity*>(this)->start();
return static_cast<AnyActivity*>(this);
}