> [0.000000] [ker_engine/INFO] 3 actors are still running, waiting for something.
> [0.000000] [ker_engine/INFO] Legend of the following listing: "Actor <pid> (<name>@<host>): <status>"
> [0.000000] [ker_engine/INFO] Actor 1 (main thread@Lilibeth) simcall ActorJoin(pid:2)
-> [0.000000] [ker_engine/INFO] Actor 2 (0:1@Lilibeth) simcall MUTEX_WAIT(mutex_id:1 owner:3)
-> [0.000000] [ker_engine/INFO] Actor 3 (0:2@Lilibeth) simcall MUTEX_WAIT(mutex_id:0 owner:2)
+> [0.000000] [ker_engine/INFO] Actor 2 (thread 1@Lilibeth) simcall MUTEX_WAIT(mutex_id:1 owner:3)
+> [0.000000] [ker_engine/INFO] Actor 3 (thread 2@Lilibeth) simcall MUTEX_WAIT(mutex_id:0 owner:2)
> [0.000000] [mc_global/INFO] Counter-example execution trace:
> [0.000000] [mc_global/INFO] 2: MUTEX_ASYNC_LOCK(mutex: 0, owner: 2)
> [0.000000] [mc_global/INFO] 2: MUTEX_WAIT(mutex: 0, owner: 2)
static int TID = 0;
TID++;
XBT_VERB("Create thread %d", TID);
- int rank = 0;
+ std::string name = std::string("thread ") + std::to_string(TID);
#if HAVE_SMPI
- if (SMPI_is_inited())
+ if (SMPI_is_inited()) {
+ int rank = 0;
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
+ name = simgrid::xbt::string_printf("%d:%d", rank, TID);
+ }
#endif
- std::string name = simgrid::xbt::string_printf("%d:%d", rank, TID);
sg4::ActorPtr actor = sg4::Actor::create(
name, lilibeth,
[](auto* user_function, auto* param) {