summaryrefslogtreecommitdiff
path: root/indra/llcommon
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llcommon')
-rw-r--r--indra/llcommon/lltrace.cpp17
-rw-r--r--indra/llcommon/llwin32headers.h4
-rw-r--r--indra/llcommon/llwin32headerslean.h4
3 files changed, 19 insertions, 6 deletions
diff --git a/indra/llcommon/lltrace.cpp b/indra/llcommon/lltrace.cpp
index 9cadd70dd8..463048008f 100644
--- a/indra/llcommon/lltrace.cpp
+++ b/indra/llcommon/lltrace.cpp
@@ -30,7 +30,7 @@
#include "lltracethreadrecorder.h"
#include "llfasttimer.h"
-static bool sInitialized;
+static S32 sInitializationCount = 0;
namespace LLTrace
{
@@ -39,19 +39,24 @@ static MasterThreadRecorder* gMasterThreadRecorder = NULL;
void init()
{
- gMasterThreadRecorder = new MasterThreadRecorder();
- sInitialized = true;
+ if (sInitializationCount++ == 0)
+ {
+ gMasterThreadRecorder = new MasterThreadRecorder();
+ }
}
bool isInitialized()
{
- return sInitialized;
+ return sInitializationCount > 0;
}
void cleanup()
{
- delete gMasterThreadRecorder;
- gMasterThreadRecorder = NULL;
+ if (--sInitializationCount == 0)
+ {
+ delete gMasterThreadRecorder;
+ gMasterThreadRecorder = NULL;
+ }
}
MasterThreadRecorder& getMasterThreadRecorder()
diff --git a/indra/llcommon/llwin32headers.h b/indra/llcommon/llwin32headers.h
index 9c89b6b280..8534ed6298 100644
--- a/indra/llcommon/llwin32headers.h
+++ b/indra/llcommon/llwin32headers.h
@@ -28,9 +28,13 @@
#define LL_LLWINDOWS_H
#ifdef LL_WINDOWS
+#ifndef NOMINMAX
+#define NOMINMAX
+#endif
#undef WIN32_LEAN_AND_MEAN
#include <winsock2.h>
#include <windows.h>
+#undef NOMINMAX
#endif
#endif
diff --git a/indra/llcommon/llwin32headerslean.h b/indra/llcommon/llwin32headerslean.h
index d3fb90d4b1..f7e71301a8 100644
--- a/indra/llcommon/llwin32headerslean.h
+++ b/indra/llcommon/llwin32headerslean.h
@@ -28,9 +28,13 @@
#define LL_LLWINDOWS_H
#ifdef LL_WINDOWS
+#ifndef NOMINMAX
+#define NOMINMAX
+#endif
#define WIN32_LEAN_AND_MEAN
#include <winsock2.h>
#include <windows.h>
+#undef NOMINMAX
#endif
#endif