From: Martin Quinson Date: Wed, 7 Jun 2017 15:52:26 +0000 (+0200) Subject: fix a race condition spotted by TSan X-Git-Tag: v3.16~144 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/212f410b75a1c5886c7b831adef56cde7e338d3e fix a race condition spotted by TSan I was hopping that it will help the msg-dht-parallel test that is broken since a few days, but it's not sufficient. Will see what TSan has to say next night. --- diff --git a/src/msg/instr_msg_task.cpp b/src/msg/instr_msg_task.cpp index 65b69cc8e3..dcc93390b5 100644 --- a/src/msg/instr_msg_task.cpp +++ b/src/msg/instr_msg_task.cpp @@ -8,6 +8,8 @@ #include "src/instr/instr_private.h" #include "src/msg/msg_private.h" +#include + XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_msg, instr, "MSG instrumentation"); void TRACE_msg_set_task_category(msg_task_t task, const char *category) @@ -31,7 +33,7 @@ void TRACE_msg_set_task_category(msg_task_t task, const char *category) /* MSG_task_create related function*/ void TRACE_msg_task_create(msg_task_t task) { - static long long counter = 0; + static std::atomic_ullong counter{0}; task->counter = counter++; task->category = nullptr;