#ifndef FEATURE_PAL
unsigned int * EventPipe::s_pProcGroupOffsets = nullptr;
#endif
-uint32_t EventPipe::s_numberOfSessions = 0;
+Volatile<uint32_t> EventPipe::s_numberOfSessions(0);
// This function is auto-generated from /src/scripts/genEventPipe.py
#ifdef FEATURE_PAL
return false;
}
- if (s_numberOfSessions > MaxNumberOfSessions)
+ if (s_numberOfSessions >= MaxNumberOfSessions)
{
_ASSERTE(!"Max number of sessions reached.");
return false;
static bool Enabled()
{
LIMITED_METHOD_CONTRACT;
- return s_tracingInitialized && (s_numberOfSessions > 0);
+ return s_tracingInitialized && (s_numberOfSessions.LoadWithoutBarrier() > 0);
}
// Create a provider.
#ifndef FEATURE_PAL
static unsigned int * s_pProcGroupOffsets;
#endif
- static uint32_t s_numberOfSessions;
+ static Volatile<uint32_t> s_numberOfSessions;
};
static_assert(EventPipe::MaxNumberOfSessions == 64, "Maximum number of EventPipe sessions is not 64.");